Google search console – chyba přesměrování
Dobrý den,
Google search console mi na mém webu https://re-bike.cz píše chybu přesměrování. Na webu využívám wordpress.
Hledal jsem zde na fóru a chyba může údajně být v .htaccess souboru od WEDOSu, ale v mém případě zde je (pokud tomu dobře rozumím) jen zápis z wordpressu a jeho pluginu Really Simple SSL kvůli HTTPS.
#Begin Really Simple Security
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
</IfModule>
#End Really Simple Security
# BEGIN WordPress
# Direktivy (řádky) mezi "BEGIN WordPress" a "END WordPress" jsou
# dynamicky generované a měly by být upravovány pouze pomocí filtrů WordPressu.
# Veškeré změny směrnic mezi těmito značkami budou přepsány.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Dle souboru Sitemap by google měl vědět o 15 stránkách, indexuje ale jen 3
chyba je např na https://re-bike.cz/servis/
a vidí správně https://re-bike.cz/kolo-na-miru/
přitom jsem stránky tvořil vesměs v podobnou dobu..
Pokud v Search console dám konkrétní stránku ručně k otestování, tak vyjde že je OK – dostupná k indexování, kvůli chybě přesměrování pak ale indexace selže.
Nemáte prosím tušení kde může být chyba? Jsem v tomhle celkem amatér..
Děkuji moc za pomoc.
3 Odpověď
Dobrý den,
za Google úplně mluvit nemůžeme. Dosavadní zkušenosti jsou takové, že problémy pozorovali uživatelé, kteří na webhostingu používali naše vynucení HTTPS kódem
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L]
Header set Content-Security-Policy "upgrade-insecure-requests;"
Specificky vadilo pravidlo R=301, které znamená „Moved permanently“ tedy „obsah je permanentně přesunutý jinam (kam směruje toto přesměrování).“ Tento kód nijak nerozlišuje, jestli je „jinam“ skutečně úplně jiný web/stránka, nebo jestli jenom upgradujete HTTP na HTTPS. Řešením zpravidla byla úprava
RewriteCond %{HTTPS} off
# RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L]
Header set Content-Security-Policy "upgrade-insecure-requests;"
která řádek s problematickým R=301 vyřadila.
Z naší strany Vám bohužel lépe poradit nedokážu.