Recenze knihy SEO v PHP

V H1.cz se mi naskytla příležitost půjčit si knihu SEO v PHP - Programujeme profesionálně a rád zde shrnul, jak na mě zapůsobila.

Originál (Professional Search Engine Optimization with PHP) vyšel v roce 2007, český překlad zhruba v půlce roku 2008. Není zde tedy většinou problém se zastaralostí informací jako u překladů jiných knih, i když samozřejmě některé aplikace již mají novější verzi.

Sami autoři upozorňují, že kniha je určena pro vývojáře PHP a technicky zaměřené webdesignéry. Já myslím, že je určena spíše pro první skupinu, zdrojový kód příkladů je sice dobře komentovaný, ale začátečníci v PHP budou hodně tápat.

Samotný obsah ve mě zanechal vcelku rozporuplné pocity. Čekal jsem alespoň kratší teoretické osvětlení každého problému následované praktickým příkladem, k čemuž mě vedl název SEO v PHP. Toto není všude splněno, ovšem pravda je, že u důležitých kapitol ani jedno nechybí a některé popsané myšlenky řeší problém vcelku elegantně.

V čem je tedy největší problém knihy? Většinou v samotných příkladech, které často nejsou vhodné. Pro představu bude nejlepší uvést nějaké konkrétní cvičení z knihy. Určitě každý vývojář řešil při tvorbě webu problém produktů, které jsou zařazeny ve více kategoriích. První koncepce, která většinu programátorů napadne, je udělat url adresy typu
www.example.com/kategorie-1/kategorie-2/produkt. Na tomto řešení je několik problematických věcí, především:

  • Duplicitní obsah:
    • Jeden produkt bude dostupný na tolika adresách, kolikrát bude zařazen do různých kategorií (např.
      www.example.com/kategorie3/produkt
  • Problém s přejmenováním kategorie
    • Pokud dojde k přejmenování kategorie, produkt dostane jinou URL. Stejný problém nastává, pokud produkt přesuneme do jiné kategorie, třeba do akcí. Dá se to řešit přesměrováním na novou adresu, rozhodně to ovšem není šťastné řešení.

Autoři knihy ovšem doporučují jít přesně touto cestou a celkem složitě řeší, jak se vyhnout duplicitnímu obsahu (generují robots.txt v PHP tak, že v něm zakáží indexaci všech duplicitních URL adres a nechají indexovat pouze jednu variantu), navíc obohacenou o jednu zvláštnost - každému URL produktu a kategorie přidávají na konec ještě identifikátor, který potom použijí při dotazu do databáze. Taková adresa vypadá například www.example.com/kategorie-C1. C je pouze oddělovač pro pravidlo v mod_rewrite, 1 je samotné id produktu.

Nevím, co k tomuto řešení autory vedlo. Pokud se ho programátor přidrží, jeho aplikace rozhodně nebude příliš dobře optimalizovaná pro vyhledávače.

Dále už jen rychlý výčet dalších podivností, které v knize najdete:

  • jak udělat tabulkový layout tak, aby byl obsah na první místě,
  • varování proti přílišnému použití AJAXu a JS:
    • v knize nalezneme jako alternativu pro JS použití <noscript>, ovšem jakákoli zmínka, že některé příklady lze řešit pomocí předání parametru na server chybí (narážím např. na AJAXové menu - <a href="/zobraz-obsah1/ onclick="ajax(zobraz-obsah1);">Zobraz obsah 1</a> - kdy v případě podpory JS se obsah načte bez reloadování, jinak se menu chová klasicky),
  • podmínky v MySQL typu SELECT * FROM tabulka WHERE true,
  • špatný nevhodný překlad: header('HTTP/1.1 301 Trvale přemístěno');,
  • používání objektových principů z PHP 4 - nejspíše kvůli kompatibilitě, uvedené příklady jsou jednoduché, objektový model PHP 4 stačí, ovšem nikde v knize to není zmíněno

Jak jsem již zmínil, z knihy mám rozporuplné pocity. Začínajícímu programátorovi může spíše uškodit, pokud převezme některé principy, zkušenějšímu zase neřekne (až na několik málo případů) v podstatě nic nového.

Investici do publikace tedy rozhodně doporučuji zvážit a pokud si ji koupíte, je nutné brát některé popsané myšlenky a postupy s rezervou.

vydáno 27.07.08 - Ostatní - 36705x - trvalý odkaz trvalý odkaz
Karma: 38. Líbil se vám článek? [ano/ne]
RSS komentářů článku - vytisknout - Odeslat emailem

Komentáře:

  • komentováno 10.08.08, 22:19:09
    Ondra

    Co myslíte tím
    "špatný překlad: header('HTTP/1.1 301 Trvale přemístěno');" ?

    Odpověz na komentář
    1. Na komentář reagoval Maxell — #4
  • komentováno 11.08.08, 02:11:06
    Ondra

    Aha... tak pročetl jsem si zbytek webu a už je mi jasné, že o HTTP nejspíš nemáš ani páru. Takže tvoji výtku o špatném překladu beru jako nádivku do kritického článku.

    Odpověz na komentář
    1. Na komentář reagoval Oldis — #7
  • komentováno 11.08.08, 12:33:46
    suczker

    Naprosto souhlas, knížka je zoufalá... , ty rewriting recipes, které tam autoři používají, jsou dost velká fantasmagorie...

    Odpověz na komentář
  • komentováno 11.08.08, 22:11:51
    Maxell

    Odpověď na Ondra — #1 Možná to nebyl nejlépe zvolený příklad, nicméně myslím, že kód v knize by se neměl slepě překládat. Lepší by bylo nechat zde originální verzi. To nic nemění na tom, že kniha jako celek rozhodně není příliš dobrá

    Odpověz na komentář
  • komentováno 12.08.08, 00:39:45
    Ondra

    Také si myslím, že by se kód neměl slepě překládat, ale není to věc překladatele - je to požadavek zadavatele. Tedy není to "špatný překlad", ale asi "přeloženo moc" :-)

    Jinak u HTTP stavů může být jakýkoliv text - viz http://www.faqs.org/rfcs/rfc2068.html... - 6.1.1:

    The reason phrases listed here are only recommended
    -- they may be replaced by local equivalents without affecting the protocol.

    Speciálně jsem to kontroloval.

    Odpověz na komentář
    1. Na komentář reagoval Maxell — #6
  • komentováno 12.08.08, 18:39:21
    Maxell

    Odpověď na Ondra — #5 Děkuji za opravu. Ono je celkem jedno, kde vznikla chyba, nicméně tuto knihu by nezachránil ani dobrý překlad. Někomu také naopak může takovýto překlad vyhovovat.

    Odpověz na komentář
  • komentováno 15.09.08, 14:54:44
    Oldis

    Odpověď na Ondra — #2 Preklad je skutecne spatny, prelozeno je totiz uplne vsechno, takze misto zavedeno session se v knize docteme o sezeni, a tak dale, u odbornych knih by se prekladatel mel vyvarovat prekladani uplne vseho a jeste by bylo vhodne prvni preklad ukazat nekomu z oboru, ktery by to ihned oznacil za nesmysl

    Odpověz na komentář

Nový komentář:

Komentář čeká na schválení.

Tento článek byl uzavřen. Už není možné k němu přidávat komentáře ani hlasovat


Nejoblíbenější články

Poslední komentáře

  • Maxell: [3] Značku base určitě není dobré používat, například některé vyhledávače s tím mohou mít problém. Pokud vím, důležité vyhledávače to podporují, ale rozhodně bych se na ni nespoléhal....
  • I.C.: Není mnohem jednodušší využívat standartního <base href="http: domena.cz " > a pak všude používat jen relativní cesty vzhledem k výše uvedenému? ;-)...
  • gmo: Cau, ja tenhle problem resil pomoci direktivy VirtualHost v nastaveni Apache, viz google...
  • Maxell: [1] Ano, zkoušel jsem to na více místech a chová se to všude stejně. Vyřešil jsem to tak, že jsem zobrazil pouze Nejbližší shodu, která by měla fungovat....
  • Maxell: [3] České vyhledávače description opravdu zatím nevyužívají. U Seznamu o tom již delší dobu uvažují, nicméně k realizaci je stále ještě daleko. Jak je psáno v článku, description by vždy mělo shrnovat obsah dané stránky. Každá kategorie a podkategorie by tak ideálně měla mít vlastní popisek, stejně tak např. každý výrobek. Vámi navrhované texty jsou také poměrně krátké, rozhodně bych je prodloužil na cca 100 - 150 znaků....

Poslední články

Nejlépe hodnocené

Nejčtenější

Copyright © Maxell | Maxell-cz | Design
Web-Design Blog - Blog nejen o webdesignu