Back to Question Center
0

Semalt dynamický soubor robots.txt, ale systém je připojen dopředu lomítko

1 answers:
. txt . Dělám to z CMS a systém připojuje přední lomítko na každou stránku - swimming pool cooler system. V případě robotů. txt , jsem napsal. htaccess kód přesměrovat z mysite. com / roboty. txt až ​​ . com / roboty. txt / .

Budou mít vyhledávače problémy se dostat se do robotů. txt tímto způsobem?

February 6, 2018

V případě služby Google by mělo být přesměrování v pořádku.

3xx (přesměrování)
Přesměrování bude obecně sledováno, dokud nebude nalezen platný výsledek (nebo bude rozpoznána smyčka). Budeme sledovat omezený počet přesměrování chmele (RFC 1945 pro HTTP / 1. 0 umožňuje až 5 chmelů) a poté jej zastavit a léčit jako 404. Manipulace s roboty. Přesměrování txt na nepovolené adresy URL je nedefinováno a odradeno. Manipulace s logickými přesměrováními pro roboty. txt soubor založený na obsahu HTML, který vrací 2xx (rámce, JavaScript nebo meta obnovovací typ přesměrování) je nedefinováno a odrazeno.

Zdroj: Roboty. txt Specifikace

Pokud jste však již úspěšně nastavili externí přesměrování, nemůžete to změnit interní přepsání ? Tímto způsobem vyhledávače ani nebudou znát rozdíl.

Přestože stále existuje rozpačitá myšlenka pokud roboty. txt není přímo k dispozici, zkusím to vyřešit pomocí CMS !?

Nedoporučuji přesměrování, ale přepsání. Společnost Google bude sledovat určitý počet přesměrování (až 5 podle specifikací RFC), ale nemůžete očekávat, že se jedná o všechny boty.

Stránka vývojáře Google poskytuje podrobnosti o robotích. txt Specifikace . A konkrétně o tom, jak zpracovávají výsledky.

A Redirect by poslal bot na jinou adresu URL. Pomocí příkazu RewriteRule můžete zobrazit

http: // www. doména. com / roboty. txt přímo pomocí kódu odpovědi HTTP 200 .

Ve vašem případě můžete použít něco podobného.

  RewriteCond% {REQUEST_URI} ^ / roboty. txt $
RewriteRule. * / roboty. txt / [L] 

Pokud to použijete, musíte se ujistit, že roboty. txt ve skutečnosti neexistuje, vaše Apache ji místo toho použije. Možná budete chtít vyměnit / roboty. txt / s nějakým indexem . php? robotů nebo něco jednoznačného.

Většina systémů CMS používá . htaccess s některými pravidly pro přepisování, které budou zpracovávat všechny adresy URL na vašem webu.

Obvykle je možné přidat k těmto pravidlům výjimku tak, že některé soubory (například roboty. txt ) nejsou zpracovávány systémem CMS.

Příklad takového pravidla je:

  RewriteCond% {REQUEST_URI}! ^ (/ Index \. php | / assets | / robots \. txt | / sitemap \. xml | / favicon \. ico)
RewriteRule ^ (. *) $ / index. php / $ 1 [L] 

Podmínka přepsání je to, co zastaví následující pravidlo přepisu od účinnosti. ! znamená "ne", ^ je "začíná" a | znamená "nebo". Takže podmínka se převádí na: "uri nezačíná indexem. php, majetek, roboty. txt, mapa stránek. xml nebo favicon. ico. "Vytvoření podobného stavu přepsání ve vašem . soubor htaccess by měl vyřešit váš problém.