Ich habe eine Wordpress-Website, nennen wir sie example.com, die von IONOS gehostet wird. Es handelt sich um eine HTTPS-Website mit einem funktionierenden SSL-Zertifikat, sodass alle HTTP-Anfragen auf die angeforderte Seite umgeleitet werden sollten, aber dabei das HTTP durch HTTPS ersetzt wird.
Beispiel: http://example.com sollte auf https://example.com umgeleitet werden (das funktioniert). http://example.com/subpage sollte auf https://example.com/subpage umgeleitet werden (das funktioniert jedoch nicht!). Stattdessen passiert Folgendes: http://example.com/subpage leitet auf https://example.com/ um.
Das Hauptproblem dabei ist, dass die Google Search Console fälschlicherweise einen Umleitungsfehler für jede Unterseite erkennt, die sie zu indexieren versucht, obwohl die Indexanfrage speziell für die HTTPS-Seite (https://example.com/subpage) gesendet wurde.
Ich verwende die neueste Version von Wordpress. Die derzeit installierten Plugins sind:
- Advanced Import
- Duplicate Page
- Elementor Pro
- IONOS Assistant (deaktiviert)
- IONOS Help (deaktiviert)
- IONOS Journey (deaktiviert)
- IONOS Login
- IONOS Loop (deaktiviert)
- IONOS Navigation
- IONOS Performance
- IONOS Security
- Music Player for Elementor
- Title Remover
- WPvivid Backup Plugin
- Yoast SEO Premium
Diese Teile meiner .htaccess-Datei könnten für das Problem verantwortlich sein:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(/(.*))?$ https://%{HTTP_HOST}/$1 [R=301,L]
</IfModule>
und/oder:
<IfModule mod_rewrite.c>
# ENGINE ON
RewriteEngine on
# set hostname directory
RewriteCond %{HTTPS} on
RewriteRule .* - [E=IONOS_PERFORMANCE_HOST:https-%{HTTP_HOST}]
RewriteCond %{HTTPS} off
RewriteRule .* - [E=IONOS_PERFORMANCE_HOST:%{HTTP_HOST}]
# set subdirectory
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteCond %{REQUEST_FILENAME} !.(gif|jpg|png|jpeg|css|xml|txt|js|php|scss|webp|mp3|avi|wav|mp4|mov)$ [NC]
RewriteRule .* - [E=IONOS_PERFORMANCE_DIR:%{REQUEST_URI}/]
RewriteCond %{REQUEST_URI} /$
RewriteRule .* - [E=IONOS_PERFORMANCE_DIR:%{REQUEST_URI}]
RewriteCond %{REQUEST_URI} ^$
RewriteRule .* - [E=IONOS_PERFORMANCE_DIR:/]
# gzip
RewriteRule .* - [E=IONOS_PERFORMANCE_SUFFIX:]
<IfModule mod_mime.c>
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteRule .* - [E=IONOS_PERFORMANCE_SUFFIX:.gz]
AddType text/html .gz
AddEncoding gzip .gz
</IfModule>
# Main Rules
RewriteCond %{HTTP_ACCEPT} .*text/html.*
RewriteCond %{ENV:INITIAL_REQUEST_METHOD} ^$
RewriteCond %{ENV:REDIRECT_INITIAL_REQUEST_METHOD} ^$
RewriteCond %{QUERY_STRING} ^$
RewriteCond %{REQUEST_URI} !^/(wp-admin|wp-content/cache)/.*
RewriteCond %{HTTP_COOKIE} !(wp-postpass|wordpress_logged_in|comment_author)_
RewriteCond /homepages/9/d4297862886/htdocs/./wordpress/wp-content/cache/ionos-performance/%{ENV:IONOS_PERFORMANCE_HOST}%{ENV:IONOS_PERFORMANCE_DIR}index.html%{ENV:IONOS_PERFORMANCE_SUFFIX} -f
RewriteRule ^(.*) /wp-content/cache/ionos-performance/%{ENV:IONOS_PERFORMANCE_HOST}%{ENV:IONOS_PERFORMANCE_DIR}index.html%{ENV:IONOS_PERFORMANCE_SUFFIX} [L]
</IfModule>
und/oder:
<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>
Meine Permalink-Einstellung in Wordpress ist wie folgt:
https://example.com/%category/%postname%/
Das dachte ich mir, ist aber leider nicht meine Kernkompetenz. Klar, ich kann auch jemanden beauftragen... aber günstiger wäre es für mich natürlich, wenn es hierfür eine DIY Lösung gäbe.