今年の4月。
本ブログの開設に伴い、新しいドメインの取得を行いました。
しかしまだ半年も経たない中、ドメインの変更をする事にしました。
それらの経緯と、ドメイン変更までの手順をご紹介します。
なぜドメインを変える事になったか?
半年前に取得したドメインは「hara-d.work」です。
このドメインをベースに、様々なウェブサイトを作ろうと考えました。
ところが、1つ大きな問題が発生しました。
それはツイッターにおける、特定ドメインでの外部リンク表示が制限されてしまうという問題です。
ツイッターは「.work」「.xyz」等のTLDドメインの外部リンクを制限
ツイッターでは、外部リンクを載せたツイートをすると、ケースによって様々な制限を掛けます。
ツイッターの規約や法的に問題のあるリンク先などを、拡散できないように表示できなくする制限があります。
また、リンク先は問題なくても、スパム扱いなどされた問題のあるアカウントからの外部リンクツイートを表示させない制限もあります。
今回、私が遭遇した外部リンク制限は、 特定のTLD(トップレベルドメイン) 全体を制限しているものでした。
ドメインをにはTLDという呼び名があります。
例えば「exsample.com」や「exsample.co.jp」など、右端のドットで区切られた「com」や「jp」がTLDです。
このTLDの中で、「.work」「.xyz」というドメイン全体を制限掛けていると思われます。
ツイッターからの公式なアナウンスはありませんが、ネットでは他のユーザーでも確認されています。
もしかしたら、これらのTLD以外にも制限が掛かっているドメインがあるかもしれませんが、私が確認した限りではこの2つのドメインです。
ツイッターによる拡散を目的としているなら、ドメイン取得前に制限ドメインかどうかチェックする必要はあるでしょう。
なぜドメインに制限を掛けているのか?
これらの確認されたドメインに対して、なぜ制限を掛けているのか?
先程も述べたと通り、公式アカウントがないので断定はできませんが、「.work」「.xyz」というドメインは比較的安く取得可能です。
したがって、これらドメインを使って、低質なウェブページを大量に作り、それがツイッターからスパム扱いされているという説があります。
あるいは、新しいドメインなので、何らかの表示させない意図があるのかもしれませんが、真相は分かりません。
ドメインについての言及はありませんが、ツイッター社では「リンクをブロックするための取り組み」を紹介しています。
ただ、真相はどうであれ、ドメイン全体に制限を掛けられては、ドメインを変える以外に手の施しようがありません。
私も当初は原因が全く分からなかったので、7月初旬からフォームからの異議申し立て、英語でのヘルプセンターへの問い合わせなどしましたが、現在まで全く音沙汰ありませんでした。
もう少しこの辺はオープンに開示いただけると助かります。
ドメインの移行(変更)を行う!
実を言えば、制限がその内解除される可能性もあるかもしれないので、それまで待ってみようとも考えました。
しかし他の人の事例も調べれば、結構長い時間が立っているにも関わらず、制限は掛かったままです。
現在のドメインを運用していれば、サイト数も増え、そして後でドメイン移行をしようと思えば、余計手間が増えてしまう可能性があります。
色々考えた末、ドメイン移行(変更)を決断しました。
今回はドメインの変更のみなので、サーバー移行などせず、あくまで設定などの変更のみです
①新しいドメインを取得する
まずは新しいドメインの取得です。
前回同様に「お名前.com」からドメイン取得しました。
取得したドメインは「ezic.info」です。
「.work」が「.biz」に変わっただけです。
ドメインを取得して、DNS設定を実施しました。
ちなみに「.biz」は、2001年に新設されたドメインで、現在のような乱立するドメインの中では中堅とも古巣とも言えそうなドメインです。
ただ「.biz」 を使うには注意があります。
こちらのドメインはビジネス用なので、特にビジネス用の申請などはありませんが、ビジネスに関係のないドメインに対して異議申し立てができるようです。
ただ異議申し立ては、あまり現実的ではないようです。
私は一応ビジネス用途にも使いますが、 「.biz」 はこうした理由からも忌避されたり、用途には注意が必要という事です。
②ウェブサーバー「Apache」の設定
ドメイン変更に伴うapacheの設定変更を実施しまいした。
運用サイトはPHPによる「WordPress」と「Laravel」です。
[A] ウェブドキュメントのコピー
まずは、ウェブの元となるドキュメントルートのPHPファイルなどのコピーを行いました。
設定変更だけなので、コピーしなくても移行は可能だと思いますが、私はあえて、元ドメインのファイルディレクトリを、新ドメイン用のディレクトリにコピーする方法を取りました。
[B] conf設定のコピーと編集
VirtualHostで運用してます。
まずは元のドメインのconfを全てコピーしました。
コピーしたconfを新ドメインディレクトリに編集します。
[C] 「Let’s Encrypt」にようSSL証明書作成
新しいドメインでSSL証明書を 「Let’s Encrypt」 で作成しました。
certbotコマンドで作成します。
[D] リダイレクト設定
元ドメインから新ドメインへリダイレクト設定をする必要があります。
やり方はconfに記載するなどありますが、私は「.htaccess」に記載しました。
元ドメインのディレクトリのファイルを削除し、 「.htaccess」 をそれぞれのサブドメイン毎に設置します。
リダイレクトは、恒久的な転送(永続)を意味する301ステータスコードでリダイレクトさせます。
Lravelサイトのリダイレクト設定
Laravelのサイトはドキュメントルートが「**********/lara-tech.hara-d.work/public」で「public」に設定されています。
このままリダイレクトすると「<新ドメイン>/public/<正規表現での置換文字>」にリダイレクトされてしまいますので、ドキュメントルートも変更しておきます。
# Laravelサイト
# Apache「conf」の設定
<VirtualHost xxx.xxx.xxx.xxx>
######### 中略 #########
# DocumentRoot **********/lara-tech.hara-d.work/public
DocumentRoot **********/lara-tech.hara-d.work/
######### 中略 #########
</VirtualHost>
# Laravelサイト
# lara-tech.hara-d.workのリダイレクト例
RewriteEngine on
RewriteRule ^(.*)$ https://lara-tech.ezic.info/$1 [L,R=301]
WordPressマルチドメインサイトのリダイレクト設定
サブドメイン毎にリダイレクトされるように設定します。
# WordPressのマルチドメインサイト
# x.hara-d.workのリダイレクト例
# ※サブドメイン毎に設定
RewriteCond %{HTTP_HOST} ^x\.hara-d\.work
RewriteRule ^(.*)$ https://x.ezic.info/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^excel-vba\.x\.hara-d\.work
RewriteRule ^(.*)$ https://excel-vba.x.ezic.info/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^news\.x\.hara-d\.work
RewriteRule ^(.*)$ https://news.x.ezic.info/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^kateisaien-engei\.x\.hara-d\.work
RewriteRule ^(.*)$ https://kateisaien-engei.x.ezic.info/$1 [L,R=301]
[E] WordPressの「wp-config.php」を変更
WordPressの「wp-config.php」 の変更は、実際に作業して最後の最後で判明したのですが、WordPressにログインしようとすると「エラー: Cookie がブロックされているか、お使いのブラウザーで未対応のようです。WordPress を使うには Cookie を有効化する必要があります。」と表示されてログインできません。
正しいパスワードの入力はもちろん、一度もログインで使用した事のないブラウザを使っても同じ現象なので、エラーメッセージの言うCookieの問題ではない事は明らかです。
調べたら 「wp-config.php」 の中に、ドメインの記載があり、ここが元のドメインのままだったので、新しいドメインに変更しました。
変更したらログインはできました。
③データベースの変更
サーバー移行などはありませんので、DBのテーブルの中の元ドメインを新ドメインに置換してあげます。
SQLでもreplaceは可能ですが、私は一旦dumpで吐き出して、そのSQL自体を置換して、DBそのまま戻しました。
WordPressのDBは変更が必要です。
LaravelのDBは、私が設計したものであり、特にドメインに依存する箇所はないのでそのままです。
④GoogleAPIのドメイン制限の変更
GoogleのAPIで「Maps Embed API」を使ってます。
これにドメイン制限を掛けていたので、元ドメインから新ドメインに変更しました。
GoogleAPI(Maps Embed API)の利用サイト
⑤「Google Search Console」を設定
「Google Search Console」 を新しいドメインで設定します。
新設したら、サイトマップXMLを登録します。
私の作ったLaravelサイトは、サイトマップXMLを生成するロジックになってますので、再生成して登録しました。
⑥「Google Adsense」の再申請
「Google Adsense」の再申請は、ある意味一番の山になるかもしれません。
アドセンスはドメイン毎の許可制ですので、ドメインが変わったことで、再申請する必要があります。
ネットでは、再申請で不合格になるケースも結構あるようです。
私は元ドメインの申請では、5回目にして合格し、最初の申請から2ヶ月以上掛かりました。
早速申請したら、10時間後に不合格通知が届きました😅
このドメイン移行は、もっとアドセンス側で移行手続きなどできれば良いなと思ってますが、無いものねだりしても仕方ないので、地道にやっていくつもりです。
しかしアドセンス審査ってどうなのでしょう?
合格には、記事数や内容などが充実してないといけないという指摘がありますが、一方で検索エンジンに掲載されてない場合は、機械的に弾かれるって話もききます。
真相は気になる所です。
ちなみにですが、私の不合格の原因をよく調べたら、headタグの中にアドセンス申請コードが見つからないと出てました。
確認したのですが、ちゃんとあります。
とりあえず、WordPressキャッシュを削除して再度申請しました。
まずは早く再合格したいものです。
ドメイン移行作業のまとめ
以上が私のドメイン移行作業です。
サーバー移転などもないので、比較的に作業は多くないのですが、それでもやはり結構な苦労をしました。
目的に合うための下調べが重要である事は改めて思い知らされましたが、一方で巨大SNS企業から村八分や弾かれてしまっては、個人ではどうしようもないケースもあるでしょう。
せっかくオープンなネットワークなので、運用もオープンで明確になれば良いなと思いました。