Googleでは、www付きのURLと無しのURLは別のアドレスとして認識します。当たり前のことなのですが、私、リダイレクトもなにもしておらず、しかも、www付きを正としているにもかかわらず、サイトマップはなしのURLを登録するというどうしようもない状態になっておりました。。。
Djangoでは、projectの下のsetting.pyがあるフォルダと同階層にmiddleware.pyを以下のように作成しました。
from django.http import HttpResponsePermanentRedirect
class WwwRedirectMiddleware:
def init(self, get_response):
self.get_response = get_response
def call(self, request):
host = request.get_host().partition(":")[0]
if host == "dxgxconsult.com":
return HttpResponsePermanentRedirect("https://www.dxgxconsult.com" + request.path)
else:
return self.get_response(request)
そして、settings.pyに
dxgxproject.middleware.WwwRedirectMiddleware
を追加。これで、wwwなしでアクセスしてもwww付きにリダイレクトされます。
サイトマップも修正したのですが、さて、Googleがどういうふうに処理してくれるか、しばらく待ってみることにします。