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:
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:
<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),SELECT * FROM tabulka WHERE true,header('HTTP/1.1 301 Trvale přemístě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.
27.07.08 - Ostatní - 36705x -
Karma: 38.

Co myslíte tím
"špatný překlad: header('HTTP/1.1 301 Trvale přemístěno');" ?
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.
Naprosto souhlas, knížka je zoufalá... , ty rewriting recipes, které tam autoři používají, jsou dost velká fantasmagorie...
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á
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ěď 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ěď 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