カテゴリー「サイト管理」の投稿を表示中

WordPress投稿内の旧ドメインを新ドメインに変更する方法

phpMyAdminにおいてのテーブル(この場合、wp_posts)エクスポート画面 このサイトはかなり前に今のドメインに変更したのですが、まだ過去サイトのドメインがブログのところどころに使われていることに今日気が付きました・・・ 以前は旧ドメインへのアクセスは今のドメインに301リダイレクトするように設定していたのですが、知らない間に旧ドメインを削除してしまったため、旧ドメインを使った画像やリンクが正常に動作しなくなってしまいました。 そして、今日、ブログ内の旧ドメインをすべて新ドメインに置き換えたのですが、その方法を少しだけ紹介したいと思います。   WordPressの投稿データはすべてwp_postsテーブル内にあります。 <対処法> 一見面倒くさそうですよね・・・すべての投稿内のリンクをひとつひとつ変更するのは。 しかし、phpMyAdminにログインし、WordPressの投稿がすべて記載されているテーブル、「wp_posts」をSQLファイルとしてダウンロードし、SQL内の旧ドメインをお好みのテキストエディタで新ドメインに置換し、それをまたphpMyAdminでWordPressのフォルダにインポートすれば、すべておkです。 操作を行う前はWordPressのフォルダをphpMyAdminでバックアップしておくことをお勧めします。以下の操作で生じた損害の責任は負いかねます。 サイトがホストされているサーバーのphpMyAdminにログインする。 ドメインを変更したWordPressブログのフォルダ内のwp_postsテーブルをSQLファイルとしてダウンロードする。 テキストエディタでSQLファイルを開き、旧ドメインをすべて、新ドメインに置換する。文章内で同じドメインを使った覚えがあるのなら、一つ一つ確かめてから置換するのがいいかもしれません。 phpMyAdmin内で過去のwp-postsテーブルを削除する。 変更したSQLファイルをphpMyAdminでWordPressフォルダにインポートする。 これで完了です。phpMyAdminに慣れていれば、5分かからないと思います。 データベースを直接操作するのが不安な方は文字列置換プラグインを使ってもいいかと思います。基本的にやっていることはおなじですが・・・ それではあなたのサイト運営の幸運を祈ります。  

所有サイトを全部HTTPS化しようか

今日、所有する一つのサイトを試験的にHTTPS化した。なぜHTTPS化したか・・・それはあのグーグルがHTTPS化をランキングシグナルに使用するとすでに発表していたから。あと、次世代プロトコル、HTTP/2にはおそらくHTTPSが必要となるから。 オレオレ証明書以外ではさくらのラピッドSSLが一番安そう(1620円/年、投稿時)だったから、それを使うことにした。サイトはWordpressで運用していたため、ポスト内のhttp://www.ドメイン名.comの記述はすべて検索と置換の機能があるプラグインですべてhttps://www.ドメイン名.com置き換えた。もちろんデータベースはバックアップしてから変更した。 httpの方へのアクセスをhttpsにリダイレクトするには少々手間取ったが、以下のリンクで紹介される、.htaccessとwp-config.phpの編集でなんとかリダイレクトを成功させた。原因はどうやらさくらサーバーの方らしくて、リンク先の対処法もさくらのレンタルサーバーのみを対象としたものです。 さくらSNI 独自SSLでドメイン全体をHTTPS化する これで何とかサイトをhttpsにしたけれど、他のサイトもhttps化するべきか・・・ [VPS+レンタルサーバー+ドメイン料+SSL代]ですでにかなりとられている。これで他のドメインをHTTPS化するとなると・・・かなりかさむなぁ。サーバーをVPSのみにし、ドメイン統一も検討すべきか・・・

サイトURLを変えたとき、古いURLへのリクエストを新URLにリダイレクトする方法

URLをリダイレクトする方法は様々ありますが、このサイトのURLを変えたときは「301リダイレクト」という方法を使いました。それを実現させるには.htaccessというファイルに以下のようなことを記述します。 RewriteEngine on RewriteCond %{HTTP_HOST} ^sonota.trance-cat.com [NC,OR] RewriteCond %{HTTP_HOST} ^www.sonota.trance-cat.com [NC] RewriteRule ^(.*)$ http://sonota.trance-cat.com/$1 [L,R=301,NC] これが何をするかというと、sonota.trance-cat.comとwww.sonota.trance-cat.comへのアクセスをすべてsonota.trance-cat.comにリダイレクトさせます。それもsonota.trance-cat.com/column/というURLもsonota.trance-cat.com/column/にリダイレクトしてくれるので、URLだけを変えた場合はこれが非常に便利です。 ご自身で利用する場合はsonota.trance-cat.comとsonota.trance-cat.comの部分をご自身のURLに入れ替えるだけです。 なお、この301リダイレクトはサーバーにmod_Rewriteという機能が搭載されていないと動作しません。たいていの有料サーバーはmod_Rewriteという機能がついてくるはずなので、使えるはずです。

目指せ!「モバイル・フレンドリー」なサイト!

目指せ!「モバイル・フレンドリー」なサイト! 最近、グーグルのサイトランキングにサイトがどれだけ「モバイル・フレンドリー」であることかが判定基準に加わりました。私なりに言えば「モバイル・フレンドリー」なサイトとはスマホやタブレットで見やすいサイトのことです。サイトが「モバイル・フレンドリー」であるかないかを判定するのにグーグルデベロッパーでは「モバイル・フレンドリー・テスト」というツールが存在します。 「モバイル・フレンドリー・テスト」URL:https://www.google.com/webmasters/tools/mobile-friendly/ スマホ向けにサイトを改良した結果、このツールでソノタブログはモバイル・フレンドリーであると認定されました。 やったー どうやってモバイル・フレンドリーにしたか このサイトではメタタグのviewportや画面サイズによってCSSスタイルを振り分けるMedia Queriesを使うことでサイトを「モバイル・フレンドリー」にしました。 viewportはサイトのヘダーに  <meta name=”viewport” content=”width=device-width, initial-scale=0.6″> のようなコードを入れることで指定できます。 また、Media Queries はCSSファイルに @media only screen and ( max-width : 1419px ) { スクリーンが1419px以下のときに実行したい内容を記述。 } @media only screen and ( max-width : 1419px ) { スクリーンが1420px以下のときに実行したい内容を記述。 } のようなコードを記述することで実現できます。たとえば、このサイトの右サイドバーの場合、1419px以下は「右サイドバーを本文の横に表示するのではなく、下に表示させる」ことをしていて、逆に1420px以上の場合は「右サイドバーを普通に本文の横に表示せよ」という内容のコードになっています。 また、このサイトでは採用していませんですが、.htaccessファイルでスマホやタブレットからのアクセスをモバイル専用のサイトに誘導するという手段もあります。規模の大きいサイトではこれをしているところが多いように感じます。 サイトをお持ちの方は一度サイトの「モバイル・フレンドリー」さを意識してみてはいかがでしょうか。 それでは良いサイト作りを~

robots.txtでルートディレクトリのクロールを無効にする

ひとつのwwwフォルダーにサブディレクトリ別に複数のドメインをホストしている場合、ルートディレクトリだけボットにクロールされないようにし、サブディレクトリのみをクロールさせたい場合が出てくるだろう。 そういう時は、ルートディレクトリのwwwに以下のような内容のrobots.txtを置けばいい。 robots.txtの記入例 「User-agent: * Disallow: / Allow: /directory1/ Allow: /directory2/」 この場合、ルートディレクトリのクロールは禁じているがサブディレクトリである「directory1」と「directory2」のクロールは許可している。 すべてのボットが認識する保証はないが、少なくともGoogleBotはこれでおkだそうだ。

管理人のサイト作成回想記

私、管理人が始めて本格的なサイトを作ったときは全てHTMLファイルで済ませていて、PHPやCMSなどは一切使用していませんでした。 しかし、サイドバー、メニューやヘッダーなどの共通箇所をいちいち変更するのが面倒くさくなり、あるとき、全ファイルをPHPに変更させ、サイドバー、メニューやヘッダーは全て<?php require_once(“header.php”);?>などで済ませるようにしました。また、.htmlでもアクセスできるように、.htaccessなども変更しました。 しかしそれでは肝心のファイル数は減らず、管理は相変わらず大変でした。そこで、サイトのmetadescriptionやmetakeywords、コンテンツなどのデータを抽出し、MYSQLデータベースに保存するスクリプトをPHPで書き、また、そこから自動的にページを生成するスクリプト(data.php)も書きました。このdata.phpに?action=exampleなどのクエリーを渡すと指定されたページをロードするようにしました。しかし、それでは長ったらしいurlになってしまうため、そこは.htaccessで何とか対応させました。 これで管理はずいぶんと楽になったわけですが、Wordpressのプラグインやユーザー管理などの機能に憧れ、ある日、サイトをWordpressに移行させることを決めました。 まずはWordpressテンプレートを一から作成することからはじめ、その後はデータの引越しをしました。簡単そうに聞こえますがこれには丸2日かかりました。メタデータなどのデータの引越しにはかなり悩まされましたが、SEOプラグインやMYSQLのSQL文エクスポート・インポート機能を使い、何とかやりのけました。 その過程でWordpressの良さや良くないところをしみじみと感じました。まずは投稿内でphpコードを使用できないのがかなり不満でした。投稿内で指定したphp変数でテンプレの一部を変更するようなことをやりたかったのですが、phpを埋め込めないんじゃと思い、ほかの方法を模索しました。 幸い、Wordpressにはカスタムフィールドという機能があり、投稿画面で変数を指定することは出来ました。この機能がなかったら本当にWordpressやめようかなと思ったんですが、救われましたね。 何せ、Wordpressには便利なプラグインがたくさんありますから。本当に使ってて便利です。