it-swarm.com.de

Die 301-Weiterleitung von GoDaddy hat eine seltsame zufällige Vermittler-URL.

Ich versuche, die 301-Umleitung von GoDaddy zu verwenden, die als Domain-Weiterleitung bezeichnet wird. Ich habe die Weiterleitung von DomainA.example an DomainB.example als 301 "Typ" eingerichtet.

Ich habe festgestellt, dass DomainA.example nach ~ 6 Monaten noch in Google indiziert ist und einen Titel in SERP von DomainB.example hat. Wenn ich auf Google klicke oder im Browser besuche, wird es zu DomainB.example weitergeleitet, sodass aus UX-Sicht alles in Ordnung ist.

Ich habe DomainA.example mit dem Tool http://www.webconfs.com/redirect-check.php überprüft und festgestellt, dass http://DomainA.example/ tatsächlich zu http://DomainA.example/MmSWZ/ umleitet ] _. Und dann leitet diese URL angeblich zu DomainB.example weiter. Was ist das?

Wenn ich einige Minuten später dasselbe Tool erneut überprüfe, wird http://DomainA.example/ an http://DomainA.example/MpppZ/ weitergeleitet, sodass es sich jedes Mal, wenn es scheint, um eine eindeutige zufällige Middle-Man-URL handelt!

Ich bin sicher, es ist schlecht für SEO. Wie behebe ich das?

5
Gintas_

Ich hatte dieses Problem auf mehreren verschiedenen von GoDaddy kontrollierten Domains. Ich habe mehrmals versucht, den GoDaddy-Support zu kontaktieren, um das Problem ohne Erfolg zu lösen. Letztendlich habe ich beschlossen, das Problem selbst zu lösen, da GoDaddy keine Ahnung von ihrem Problem zu haben scheint.

Hier ist meine Lösung: Fügen Sie diesen PHP Code oben auf Ihrer 404-Fehlerseite hinzu. Fügen Sie für WordPress die 404.php-Datei Ihres Themas hinzu:

<?php 
/* GoDaddy 404 Redirects FIX - by Daniel Chase - https://riseofweb.com */
$currURL = $_SERVER['REQUEST_URI'];
$CheckRedirectError1 = substr($currURL, -6);
$CheckRedirectError2 = substr($currURL, 0, 7);
$CheckRedirectError = false;
if (preg_match("/^[a-zA-Z]{5}\/$/",$CheckRedirectError1)){
    $CheckRedirectError = $CheckRedirectError1;
}else if (preg_match("/^\/[a-zA-Z]{5}\/$/",$CheckRedirectError2)){
    $CheckRedirectError = substr($CheckRedirectError2, 1);
}
if($CheckRedirectError){
    $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
    $redirectTo = str_replace($CheckRedirectError, '', $currURL);
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: " . $protocol . $_SERVER['HTTP_Host'] . $redirectTo);
    exit();
}
?>

Das Skript überprüft die zufälligen Zeichen, entfernt sie und leitet dann zur richtigen Seite weiter. Möglicherweise müssen Sie einige Ausnahmen hinzufügen oder das Skript an Ihre Anforderungen anpassen.

1
Daniel Chase

Um eine 301-Umleitung durchführen zu können, muss sich am angegebenen Standort ein Server befinden, der auf die Anforderung des Browsers nach Inhalten mit einem Standort wie dem folgenden antwortet:

HTTP/1.1 301 Moved Permanently
Location: http://domainb.example

Dies ist notwendig, da der Server über HTTP mit einer Antwort auf den Browser antworten muss. Diese Art der Umleitung kann nicht mit DNS durchgeführt werden, da dies nicht der Zweck von DNS ist.

Sie können einen CNAME Datensatz für DomainA.example mit DomainB.example als Wert festlegen. Ihre DNS-Zone könnte ungefähr so ​​aussehen:

NAME                    TYPE   VALUE
--------------------------------------------------
www.domaina.example.    CNAME  www.domainb.example.
www.domainb.example.    A      192.0.2.23

Sie müssten auch sicherstellen, dass alle MX Datensätze (teilt den Mail-Servern mit, wohin E-Mails für eine Domain gesendet werden sollen) für DomainA.example aktualisiert werden, um auf den Host unter DomainB.example zu verweisen, damit E-Mails weitergeleitet werden können entsprechend (falls erforderlich).

1
Justin Pearce