広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

「パンくずリスト」の問題が新たに検出されました。data-vocabulary.org schema deprecatedとは?


Google Search Console Teamから『サイト https://ドメイン/ で「パンくずリスト」の問題が新たに 検出されました』ってメールが届いていました。

対象のサイトはWordpressのサイトです。警告の内容は、
data-vocabulary.org schema deprecated
でした。

data-vocabulary.org schema deprecatedとは?


data-vocabulary.orgは、サイトのHTMLソースを確認するとパンくずリストに使っている箇所で利用していました。

<div id="breadcrumb">
<div itemscope="" itemtype="https://data-vocabulary.org/Breadcrumb">
<a href="https:/domain" itemprop="url"><span itemprop="title">ホーム</span></a>>
</div>
<div itemscope="" itemtype="https://data-vocabulary.org/Breadcrumb">
<a href="https://domain/category/" itemprop="url"><span itemprop="title">カテゴリ</span></a> >
</div>
</div>


Googleのwebmasterブログにdeprecatedの理由が書いてありました。
2020年4月6日より、data-vocabulary.orgマークアップは、Googleのリッチな結果機能の対象外となります。
https://webmasters.googleblog.com/2020/01/data-vocabulary.html?m=1

data-vocabularyは少数派で時代遅れ、メジャーなSchema.orgへ一本化すると記されています。

data-vocabulary.org schema deprecatedをなくす対策のHTMLとワードプレスの対応


data-vocabulary.orgマークアップをschema.orgに置き換えることで警告はなくなります。

schema.orgを利用したパンくずリストの書き方はGoogle(パンくずリスト)を参考にするのが確実です。

Google(https://search.google.com/test/rich-results)でライブテストすることができます。microdata形式に対応していました。

先ほどのソースをコード入力でテストするとリッチリザルト対象ですが、以下警告が表示されることが確認できます。
data-vocabulary.org schema deprecated(任意)と黄色で警告表記が確認できます。


元HTMLソースを
<div id="breadcrumb">
<div itemscope="" itemtype="https://data-vocabulary.org/Breadcrumb">
<a href="https:/domain" itemprop="url">
<span itemprop="title">ホーム</span>
</a> >
</div>
<div itemscope="" itemtype="https://data-vocabulary.org/Breadcrumb">
<a href="https://domain/category/" itemprop="url">
<span itemprop="title">カテゴリ</span>
</a> >
</div>
</div>

このように変更した結果、
<div id="breadcrumb" itemscope="" itemtype="https://schema.org/BreadcrumbList">
<div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem">
<a itemprop="item" href="https://domain" itemprop="url">
<span itemprop="name">ホーム</span>
</a>
<meta itemprop="position" content="1" /> >
</div>
<div itemprop="itemListElement" itemscope="" itemtype="https://schema.org/ListItem">
<a itemprop="item" href="https://domain/category/" itemprop="url">
<span itemprop="name">カテゴリ</span>
</a>
<meta itemprop="position" content="2" /> >
</div>
</div>

警告がなくなりました。
data-vocabulary.org schema deprecated(任意)の警告がなくなていることが確認できます。


<meta itemprop="position" content="番号" />は必須パラメータで、省略するとエラーになります。

Wordpressの対応(stinger5)


このdata-vocabulary.org schema deprecated警告が発生しているサイトは、Stinger5テーマを利用しているサイトでした。ここではStinger5を例にしています。
変更が必要なファイルはwp-content/themes/stinger5/フォルダにあります。

Stinger5では、Breadcrumbコードが分散してソースとして埋め込まれています。
以下3つのファイルを修正します。
  1. 404.php
  2. archive.php
  3. singe.php


テーマをFTPツールでアップロードできる環境の方は、ローカルに保存したstinger5テーマからdata-vocabularyをキーワードにして対象となるファイルを特定することができます。

HTMLの修正自体はここまでご紹介している内容で対応できると思います。課題は<meta itemprop="position" content="番号" />の実現性かと思います。

このようにすることで対応できます。
・・・<span itemprop="name">ホーム</span> </a><?php $_content_no_=1;?><meta itemprop="position" content="<?php echo $_content_no_;$_content_no_++;?>" /> > </div>



<span itemprop="name"><?php echo get_cat_name($catid); ?></span> </a><meta itemprop="position" content="<?php echo $_content_no_;$_content_no_++;?>" /> > </div>

$_content_no_という変数を初期値1で定義して、出力したら+1するソースコードになります。1ファイルで2箇所修正する際の例として参考にしてください。

ホームのところはcontent="1"直書きでwhileでループしているところだけ初期値2から始める方法でも可能です。この場合、変数の宣言位置に注意してください。

変数名は何でもいいです。ただWodpressやテーマ、プラグインで利用中の変数と重複すると面倒な事態になるので分かりやすさより、被らないユニーク性を重視してくださいね。




まとめ


対応期限は、2020年4月5日までです。4月6日からエラー扱いになるかと思われます。
対策した後は、サーチコンソールで「修正を検証」お忘れなく。
検証はしばらく時間がかかります。また一度に全ての問題を警告してくれないのでGoogleのクロールするタイミングで新たに警告するURLが増えます。

「修正を検証」ボタンをクリックした1日後、合格していました。今回の修正方法で合格がもらえることが確認できました
合格したことが確認できる。(サーチコンソール>パンくずリスト>data-vocabulary.org schema deprecated>詳細を表示)



Google PageSpeed InsightsはWordpress テーマを変えるだけで100点取れる?

100点取れました。Google PageInsightsのパソコン100点の結果がわかる

取れました。ただ、Google PageSpeed Insightsのパソコン側の結果です。モバイルは99点です
Wordpressのバージョンは、5.2.1。
サーバは、エックスサーバー(X10)です。先日新サーバーに移行しました。
今回評価に使ったサイトは、2018年2月ごろからあるサイトで、テストに利用したURLは、2000文字ぐらいの規模です。

プラグインは、ページキャッシュ系プラグインなし、というかプラグインはすべて無効状態です。
100点取ったらテーマは、Wordpress標準のTwenty Nineteenです。
Twenty Nineteenです。


パソコン100点、モバイル99点獲得できた際のラボデータ(モバイル)は以下のような結果です。
パソコン100点、モバイル99点獲得できた際のラボデータのモバイル

現在レンタルしているサーバーの上限値となり得る値です。検索してサイトに訪れてきたユーザーが遅い・速いを感じる指標はコンテンツの初回イベント、速度インデックスかと思います。

グーグルの指標的には、クロールせずに見える範囲を1秒未満で表示できるのが望ましいです。
PageSpeed Insights は、ページを分析して、モバイル ネットワークでページを 1 秒未満で表示するための推奨事項にそのページが準拠しているかどうかを確認します。
developers.google.com:
PageSpeed Insights でのモバイル分析

また、上記モバイル分析ページに書いてありますが、モバイルは4G/3G回線でアクセスを前提とした速度で計測されます。そのためパソコンで90点台を取れても、モバイルは40点台という結果になったりします。

変える前のテーマでは、47点でした


当然サクサク90点台取れるかと思ったんですが・・・
高額講座で貰った高機能なテーマ

メディア作成向けの高額有料講座で貰った高機能なテーマを使っていたんですが、この通りの結果ですちなみにパソコンは91点でした。
ラボデータは意味のあるコンテツの初回イベント3.4秒、速度インデックス4.9秒でした。先ほどの結果から今レンタルしているエックサーバーだと速度インデックスは1.8秒程度はいけるはずなので、3.1秒ほど他の何かで遅くなっているってことです。
yuuryou-theme-1-labodata.jpg

レンタリングを妨げるリソースの除外で3.12sぐらい改善できるような感じでしたが、焼け石に水ですね。

これでもか!ってぐらい機能豊富なんですが、その分遅くなっている要因が複雑化していました。詳しくソースをチェックしていたところさらにがっかりしました。

有料講座で貰ったテーマの問題点
  • ソースを確認すると既知の技術を組み合わせているような感じのテーマでした。
     そのためか、scriptやstyleタグが長い傾向にある(ソースも長かったです)
  • 同じ機能のjavascriptやフォントを何度も呼び出しする傾向にある
  • 高機能な部分は、複雑な機構になっている
  • 手の施しようがない感じです。

      deferとか使ってなんとかしよう!って思わせてくれない感じでした。手強いです。

      有料テーマ 賢威8.0は、77点でした


      ワードプレスのテーマとして<a href=【賢威】8.0(ワードプレス版)を有効にしたイメージ" width=300>

      テーマを2019年5月30日にバージョンアップした【賢威】8.0(ワードプレス版)に変更し、確認するとモバイル77点とテーマを変更しただけで30点アップしました。パソコンは99点でした。
       賢威8.0のモバイル結果がわかる


      ラボデータは、意味のあるコンテツの初回イベント2.4秒、速度インデックス3.0秒でした。
      keni-labodata.jpg



      2万人を超えるユーザーが選んだSEOテンプレート【賢威】

      というフレーズが有名です。
      実際購入して感じたメリットは、長く使うほどお得感が増すっていうところです。今だと賢威を購入すると賢威6、賢威7、賢威8の3つのバージョン(ワードプレス版、HTML版)がダウンロードできます。毎年バージョンアップしているのでどんどんテーマが増えるって感じでお得に感じています。

      また、サポートがしっかりしている(ユーザーフォーラムがあります)ので、不具合とかにも真摯に対応してくれます。他の有料テンプレートに手を出したことがないので比較できませんが、新しく購入するテンプレートは、サポートフォーラムありっていうところを選びたいと思っています。


      Google PageSpeed Insightsで満点取れたけど、77点でいいんです


      Wordpress テーマを変えるだけでモバイル47点から99点、パソコン91点から満点にできることがわかったかと思います。またワードプレス標準テーマを利用するとレンタルしているサーバーの上限値を理解することができます。

      でも、満点のテーマは使いませんその理由は不便な思いをしたくないからです。
      一般的なワードプレスサイトなら標準テーマでも良いかと思いますが、47点のテーマでも、Webフォントの利用をやめたり、キャッシュ系プラグインを利用することで劇的な速度改善につながる可能性もありますね。

      また、速い結果のテーマでも、機能が足りないのでプラグインを追加しがちです。これは遅くなる要因に繋がりやすいので、初めから機能がそれなりに盛り込まれていて、そこそこ速いテーマでいいんじゃないかと思っています。

      テーマによっては、ランキング、関連ページ、ブログカード、吹き出しなど様々な便利な機能が用意されていますよね。やっぱりこれを使いたいです。

      頻繁に情報を更新するサイトだとキャッシュ系プラグインが使えないというかキャッシュすることに意味がないことがあります。このような場合は、キャッシュがない状態でもそこそこ速いテーマ(例えば賢威とか)にしたいですね。
      【賢威】



wordpress 5 記事が自動的にPublishから非公開になっていた件

どうも!Scriptsです。Wordpress5.1.1+Stinger5(かなり昔の無料版)利用中のサイトで404エラーが発生していることをGoogle Search Consoleで知りました。

該当の記事は、ブラウザでアクセスすると確かに404エラーになっています。
該当の記事をプレビューで確認したところ、「非公開:タイトル」になっていました。

でも、wordpressのデータベースに直接アクセス(mysqlコマンド)して確認しても、wp_postsは非公開になっていませんでした。
post_status は、 publishであることが確認できました。

データベース上、公開になっているのに、非公開になるパターンって一体どういう自体なんでしょうかね・・・

ググっても、試行錯誤した原因不明の対処方法ばかりで信頼できないって思いました。そこでどこでこれがpublishからprivate(非公開)に変化させているのか?原因を徹底的に調査しています。

・・・

徹底的に調査する前段階で原因ががわかりました。
mysqlに接続して、タイトルでマッチするレコードを調査したところ、投稿ページ、固定ページで同一のタイトル、urlのページがありました。

同じURLで公開、非公開のページが存在できるのがwordpressの仕様っぽいです。

公開日付1 固定ページ側 パーマリンク:サイト/パス1/ 非公開
公開日付2 投稿ページ側 パーマリンク:サイト/パス1/公開

というような感じで設定されていました。この場合、公開でなく、非公開が有効になるようです。


同じパス1になっていることが問題でした。非公開側のパス1をパス2、別のページ名に変更したところ、
投稿ページ側のサイトが非公開=>公開に変更できました。

同じような問題で困っている方は、投稿ページ、固定ページ両方のURLで一致しているものがないかを確認してみてくださいね。

mysqlコマンドが使える方は、wordpressのデータベースに接続した後、以下のようなSQLを打ち込むことで重複があるurl(post_name)を調べることができます。
mysql> select ID,post_title, post_status,post_name, post_type from wp_posts where post_name like '%キーワード%' and post_status in('private', 'publish');
キーワードは、調査したいページ名に置き換えて実行してください。





ワードプレスのユーザー名、パスワードを忘れたをphpMyAdminを使わずに解決する

ワードプレスのユーザー名、パスワードが思い出せない"

ユーザー名、パスワードを記憶していたアプリの障害で消えていた、久しぶりのログインでユーザー名、パスワードを忘れている、ワードプレスのパスワードリセットには、ユーザー名、またはメールアドレスが必要になりますよね。ユーザー名、メールアドレスも覚えていない・・・、大丈夫です。phpMyAdminで解決できます。phpMyAdminが使えないサーバーですか?大丈夫です。これからご紹介するアップロードする方法でユーザー名、メールアドレス、パスワードリセットでワードプレスのユーザー名、パスワードを忘れたを解決できます。

これからご紹介する方法は、ご自身のサイトにファイルをアップロード、http/httpsでアクセスしてユーザー名を表示されたり、パスワードをリセットします。ご紹介しているのはソースコードのみです。ソースコードをコピペしてワードプレスが動いているディレクトリに配置する必要があります。


ワードプレスのユーザー名、メールアドレスがわからないを解決するアップロードファイル


ワードプレスのユーザー名、メールアドレスは、MySQLデータベース(wp_users)に保存されています。これからご紹介するPHPソースコードをwp-config.phpと同じディレクトリに配置してください。配置し、http/httpsでアクセスし、知りたいことがわかったら配置したファイルを削除することを忘れないでくださいね。
<?php 
require_once( __DIR__ . "/wp-config.php");
$wusers = $wpdb->get_results('select * from wp_users;');
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Page Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<h2>wp_usersを詳しくみる</h2>
<p>ワードプレスのユーザーテーブルの情報を表示します。</p>
<form action="./rescue-show-users.php" method="post">
<select name="user_id"><?php
foreach( $wusers as $data ){
echo <<< EOM
<option value="{$data->ID}">{$data->userlogin}({$data->display_name})</option>
EOM;
} ?></select><button name="show_userinfo">ユーザ情報表示</button></form>
<?php
if(isset($_POST['show_userinfo'] ) ){
$target = false;
foreach($wusers as $data){
if( $data->ID == $_POST['user_id'] ){
$target = $data;
}
}
if( $target ){
ob_start();
print_r($target);
$contents = ob_get_contents();
ob_end_clean();
echo "<p>{$contents}</p>";
}else{
echo "<p>失敗です</p>";
}
}
?>
</body>
</html>

このPHPのファイル名は、rescue-show-users.phpです。ファイル名を自分のお好みに変えることができます。そその際は、ソース中のformの太字の部分も合わせて変更してください。
【ポイント】
  • ポイント1 データベースのホスト名、パスワード、全て不要。設定済みのwp-config.phpを利用しています。
  • ポイント2 wp_usersテーブルの内容をコンボボックスから選んで「ユーザ情報表示」ボタンで表示できます
  • ポイント3 選択したユーザーの情報を全て出力しています。

やっていることわからなくても、ソースコード全部見れますよね。安心してください。
【出力例】
以下のような出力で確認できます。ユーザー名は、user_login、メールアドレスは、user_emailをそれぞれ確認することでわかります。
stdClass Object ( [ID] => 1 [user_login] => user_login
[user_pass] => user_pass
[user_nicename] => user_nicename
[user_email] => user_email@example.com
[user_url] => [user_registered] => yyyy-mm-dd hh:mm:ss
[user_activation_key] =>
[user_status] => 0
[display_name] => display_name )

(見やすいように改行しています)

PHPソースコードをwp-config.phpと同じディレクトリに配置することでユーザー名、メールアドレスが確認できるようになります。

ワードプレスのパスワードがわからないを解決するアップロードファイル


ワードプレスのパスワードをPHPからリセットすることができます。ただリセット自体は、ワードプレスの機能にもともとある方法(/wp-login.php?action=lostpassword)を使った方が良いかと思います。ユーザー名もしくはメールアドレスがわかればパスワードをリセットすることができます。
先にご紹介したワードプレスのユーザー名、メールアドレスがわからないを解決するアップロードファイルでユーザー名、メールアドレスがわかります。

=>ユーザー名、メールアドレスがわかればパスワードはリセットできます。


登録されているメールアドレスが解約済みだったり、使えなくなっている場合は、ワードプレスのユーザー名、メールアドレスがわからないを解決するアップロードファイルでIDを調べた上で以下ファイルをアップロード、アクセスすることで変更できます。
以下の例の太文字の部分がIDです。
stdClass Object ( [ID] => 1 [user_login] =>・・・)


太字のWP_USERSの変更したいID、新しいメールアドレスの部分をご自身の環境に合わせて書き換えてください。
<?php 
define('WP_USERSの変更したいID', 1);
define('新しいメールアドレス','user@example.com');

require_once( __DIR__ . "/wp-config.php");
$wusers = $wpdb->get_row("select ID, user_login,user_email from wp_users where ID=" . WP_USERSの変更したいID);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Page Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<h2>確認</h2>
<p><?php
if( count($wusers) == 0 ){
echo "<b>指定したIDに誤りがあります。更新できません。IDを見直してください</b>";
}
else if( strlen(trim(新しいメールアドレス)) <= 3){
echo "<b>新しいメールアドレス間違えていませんか?見直してください。</b>";
}
else if( isset($_POST['update']) == false ) {
echo "ID={$wusers->ID} (ユーザー名:{$wusers->user_login})<br><b>現在登録されているe-mailアドレス:{$wusers->user_email}</b><br><br><b>変更後のe-mailアドレス:".新しいメールアドレス ."</b><br>変更後のe-mailアドレスに変更します。「更新」ボタンをクリックで変更します。";
?>
<form action="./rescue-email-change.php" method="post"><button sytle="font-size:x-large" name="update">更新</button><form>
<?php
} else {
$ret = $wpdb->update('wp_users', array('user_email'=>新しいメールアドレス), array('ID'=>WP_USERSの変更したいID ), array('%s'), array('%d') );
if( $ret == false ){
echo '<b style="color:red">データベース更新に失敗しました。</b>';

}else{
echo "更新しました。";
}
echo "<br>現在データベースに登録されているメールアドレス<br>";
$wusers = $wpdb->get_row("select ID, user_login,user_email from wp_users where ID=" . WP_USERSの変更したいID);
print_r( $wusers );
}
?>
</p>
</body>
</html>

このPHPのファイル名は、rescue-email-change.phpです。ファイル名を自分のお好みに変えることができます。そその際は、ソース中のformのaction部分も合わせて変更してください。
【ポイント】
  • ポイント1 確認画面を表示します。「更新」ボタンをクリックすることで更新します。
  • ポイント2 データベースのホスト名、パスワード、全て不要。設定済みのwp-config.phpを利用しています。
  • ポイント3 現在のemailアドレスも合わせて表示します。必要ならコピペしてどこかに記録しておいてください。


まとめ


いかがでしたでしょうか。phpMyAdminが使えないサーバーで、パスワードをを忘れても、この方法でワードプレスにログインできます。

Wordpressショートコードの一覧を表示する方法

ワードプレスのテーマは標準で使えるTwenty Seventeenから有償テーマまですごい数ありますよね。サイトごとにテーマを変えた方がいいっていう話もあるので無料、有償を含めたくさんのテーマテンプレートを使っています。主に有償のテーマになりますが、機能がてんこ盛りの場合もあったりします。記事の投稿を助けてくれるショートコードの機能が豊富ってことです。これからご紹介する方法は、テーマのショートコードの一覧が欲しいって時に使える方法です。

WordpressのAPIに一覧を表示する関数はあるの?


ありません。
ショートコード名がわかっていれば、存在を確認するshortcode_exists関数があります。ショートコード名が知りたいって時には使えませんよね。


ショートコード一覧を表示する方法


ご存知のようにワードプレスはPHPで作られています。日本語マニュアルもWordPress Codex 日本語版でしっかり整備されています。オリジナルのソースコードも見ることができますよね。

4.9.4のワードプレスのショートコードのソースがあります。tags/4.9.4/src/wp-includes/shortcodes.php

別にリンク先は見なくてもいいです。ショートコードを実行する方法の関数(do_shortcode)、ショートコードを追加する(add_shortcode)、ショートコードを削除する(remove_shortcode)などの関数のソースコードがリンク先にあります。

一覧を表示する関数はありませんよね。でもショートコードはどこかに保持されています。それがわかるんです。$shortcode_tagsです。

ここに全部格納されています。

グローバル変数で参照できます。つまり以下のようなカスタム関数やプラグインを作ることでショートコードの一覧を表示することができます。
function ショートコード一覧( $atts ) {
global $shortcode_tags;
$ret="<ol>";
foreach( $shortcode_tags as $name => $obj ){
ob_start();
print_r( $obj );
$content = ob_get_contents();
ob_end_clean();
$ret .= "<li>{$name}:{$content}</li>";
}
return $ret . "</ol>";
}
add_shortcode('list_shortcodes', 'ショートコード一覧');


この関数をfunctions.phpに入れるか、独自のプラグインを作って見てください。

記事や固定ページに[list_shortcodes]と書いて、プレビューボタンでショートコード一覧を見ることができますよ。



ワードプレス4.8をSQLite3で動かす手順【MySQL必要なし】

ワードプレス4.8をMySQLサーバーを使わずにファイル型データベースSQLite3で動かす手順をご紹介します。



手順だけ知りたい方は、こちらからどうぞ。


ワードプレスとは


ワードプレスは、オープンソースで公開されている無料のコンテンツマネージメントシステムです。
コンテンツマネージメントシステム(CMS)といっても、イントラ<=>インターネット間の同期や情報の公開承認機構など高度なシステムではありません。

インターネット上に公開したサイトに対する記事やページを管理することができるシステムです。


ワードプレスは、テーマを変えることでデザインの変更や機能拡張が可能です。
さらに、世界中の人が公開しているプラグインをインストールすることでさらなる機能拡張が可能です。

ブログからEコーマースサイトまでサポートすることが可能です。



ワードプレスは、ApacheもしくはNginx・IISのHTTPサーバー上で動作させることができます。
実行には、PHP5またはPHP7のモジュールと通常MySQL5.6以降(データベースサーバー)またはMariaDB10.0以降が必要になります。

MySQLの他に、PostgreSQLをご利用することも可能です。
PostgreSQLは、PostgreSQL for Wordpressプラグインを利用するのが簡単です。

SQLServerはPHP用ドライバーがあります。ただプラグイン等はないので、
上記のようなプラグインを参考にしながらプラグインを作る必要があります。
(ワードプレスコアは、速いサイクルで更新されています。そのためコアの変更はおすすめできません)


ワードプレス4.8をSQLite3で動かすデメリットとメリット


ワードプレスはMySQLデータベースサーバーを使って動かすことが前提となっています。
これをSQLite3を使って実現する方法は自前でやる以外の方法で、2つあります。
  1. PDO (SQLite) For WordPress
    長らく更新されていません。
  2. SQLite Integration
    ここ最近更新されていません

どちらもワードプレスのプラグインを使った方法です。

今回ご紹介する最新ワードプレス4.8でSQLite3で動かす手順は、SQLite Integrationを利用します。


ワードプレスをSQLite3で動かすデメリットはあるの?


あります!

まずSQLite3のデメリットがあります。
SQLite3は参照系(select)やInsert(新規追加)が高速!という特徴があります。

一方、更新系(Update)や削除(Delete)は遅いので、大きなサイトには向かないです。

これ以外にワードプレスをSQLite3で動かすデメリットは、以下の通りです。



  1. 1)表面上は動くのに、深いところで動作しない可能性がある

    ワードプレスは、テーマやプラグインで拡張できるとご紹介しました。
    ワードプレスには、テーマやプラグインからアクセスできるよう共通関数やヘルパクラスなどが用意されています。
    テーマやプラグインのソースコードは、名前空間の衝突さえなければ、ほぼ自由に創ることができます。
    そのため、保守性が高いソースコードもあれば、保守性をあまり考えていないソースコードもあります。

    データベースを利用する箇所がMySQLソースの直書きのような場合、その機能を使うタイミングでないと動く動かないの見定めがわかりにくいです。



  2. 2)サイト解析プラグインや訪問者アクセスチェックなどのプラグインは避けた方が無難

    SQLite3は注意深く設計してもdatabase lockが発生しやすいと感じています。
    記事の投稿・更新などは複数人同時更新は避けた方が無難です。
    これと同じ理由で、訪問者が訪れた場合にデータベースへアクセスしてきたページや訪問者の画面サイズなどを記録するサイト解析系プラグイン、アクセスチェックなどのツールは避けた方が無難です。

    また、テーマによっては、アクセス数をカウントする機能が盛り込まれたものがあります。同様の理由で避けた方が無難です。

    動かすことは可能です。複数同時実行の際、予期しないエラーが発生しやすいです。



  3. 3)不具合が起きた場合、情報が少ないため自力解決が基本

    全て自己責任です。





ワードプレスの高速化目的の場合、SQLite3で動かすメリットはありません。高速化の場合、高機能キャッシュプラグインはほぼほぼ使えないのでデメリットしかありません。






ワードプレスをSQLite3で動かすメリットって何?


デメリットしかなさそうなSQLite3を利用したワードプレスですが、メリットってあるんでしょうか?
あります!

これから2つのメリットをご紹介します。
  1. 1)データベースの移動が簡単

    SQLite3はファイル型データベースです。SQLite Integrationプラグインは1つのSQLite3データベースファイルを利用します。
    ローカルで確認してリモートへアップしたい、リモートにアップした内容をローカルで確認したい、こういった場合、SQLite3が大きな武器になります。

    1つのファイルを移動するだけ、ローカル<=>リモートのデータベース同期が可能になります。
    MySQLの場合、ダンプ=>インポートで同じようなことができます。



  2. 2)激安レンタルサーバーにワードプレスが設置できる

    激安レンタルサーバーの中には、ワードプレスが動く!っていうサーバーもあります。
    ただ、多くは、PHPは動作する、MySQLは提供なしというパターンが多いです。

    MySQLなしでワードプレスを動かす選択肢として、SQLite3のメリットがあります。





わざわざ激安サーバーでワードプレスを動かすメリットがあるの?賢威のHTMテンプレートやSIRIUSでいいんじゃない?


メリットはあります。



ワードプレスは、Accelerated Mobile Pages (アクセラレーテッド・モバイル・ページ、 AMP) をプラグインを導入するだけで構築することができます。

AMPプラグインは無料です。


知らない方のための賢威、SIRIUSのご紹介


賢威はHTMテンプレートとワードプレステンプレートがいつでもダウンロードして使うことができます。
SEOに強いってよく言われています。

SIRIUSは、次世代型サイト作成システム、Windowsでテキスト記事を書くだけで立派なHTMLサイトが作れてしまうツールです。


どちらも甲乙つけがたい優れたツールです。


持っている方は活用した方が良いでしょうし、
持っていない方はそれほど高額ではないので購入した方が良いと思います。



賢威は、7系テンプレートと6系テンプレートがご利用可能です。
7系のテンプレートは、6種類【クール版、ビューティ版、プリティ版、コーポレート版、スタンダード版、ストーリー版(近日リリース予定)】でそれぞれHTML版、ワードプレス版があります。
6系のテンプレートは、5種類【コーポレート版、クール版、プリティ版、ヘルシー版、マネー版】でそれぞれHTML版、ワードプレス版があります。

7系のテンプレート、6系のテンプレートはそれぞれ共通化されています。
6種類、5種類とデザインを切り替えることができるのですが、
HTMLの構造は、共通化されている関係で、7系で1つ、6系で1つといったイメージになります。


SIRIUSは、デフォルト、ビジネス、レスポンシブ、角丸タイプの4つからオレンジ(1/2/3カラム)、グリーン・・・などの色とカラムタイプが選べます。

HTMLの構造はどれもほとんど同一に近いです。


一方ワードプレスは、292,000を超えるテーマがあります。
テーマを変えることで様々なHTML構造に簡単に変更できるというメリットがあります。



ワードプレス4.8をSQLite3で動かす手順


本記事は、すでにMySQLで動作させているワードプレスサイトは対象にしていません。
MySQLがない環境で新たにワードプレスサイトを立ち上げる手順です。

sshログインできるサーバー、FTPのみのサーバーと環境に依存する部分があります。
サーバーに依存しない基本的な手順と、sshできる環境での手順、FTPのみの環境での手順をご説明します。

【ワードプレスを正常に実行させる必須の要件】
  1. Apacheのmod_rewriteモジュールが動作する環境(Apache or Nginx )
  2. htaccessファイルが設置可能である


これら必須要件と、合わせてPHP7以降(ワードプレス4.8の推奨要件より)が動作する環境が望ましいです。


【SQLite Integrationを正常に実行させる必須の要件】
  1. PDO extensionが有効(PHP5.3以上)
  2. PDO SQLiteが使える


レンタルサーバーの確認方法


レンタルサーバー各社の公式サイトでPHPのバージョンやMySQLのバージョンが確認できます。
ただPDO extensionが有効なのか、PDO SQLiteが使えるのか、ちょっと深い情報になると開示状況はまちまちです。

こちらで格安レンタルサーバーの比較を紹介しています。
どこでも1、2週間の間はお試し利用が可能です。深い情報は実際に使ってみて確認するのが一番早いです。

無料期間中に以下PHPファイルを配置して確認しましょう。
ファイル名:test.php(ご自由です)
<?php 
phpinfo();


初期ドメインでアクセスできるフォルダ直下にtest.phpを配置してください。
ブラウザで「初期ドメイン/test.php」にアクセスすることで状態が確認できます。

【phpinfoで確認する項目】


  1. PDO drivers で検索します。

    enabledにsqliteがあることを確認します。


  2. SQLiteのバージョンの確認は必須ではありません。
    SQLite Library で検索します。

    enabledにある値がご利用できるSQLiteのバージョンです






基本の手順


手順1 ワードプレスの最新版のダウンロード


ワードプレスの日本語版の最新ダウンロード先から最新版をダウンロードします。
現在の最新版はワードプレス4.8です。
ZIPファイル:https://ja.wordpress.org/latest-ja.zip
tgzファイル:https://ja.wordpress.org/latest-ja.tar.gz

手順2 ダウンロードしたワードプレスの展開


取得したワードプレスは圧縮されています。
拡張子に則した方法でワードプレスを解凍します。


手順3 SQLite Integrationプラグインのダウンロード


入手先:SQLite Integration
直リンク:https://downloads.wordpress.org/plugin/sqlite-integration.1.8.1.zip

手順4 SQLite Integrationプラグインの展開と設定


Windowsはエクスプローラー標準機能で解凍できます。Linux系の場合は、unzipコマンドで解凍できます。
展開先:wordpress/wp-content/plugins/

展開後、以下フォルダがあることを確認します。
展開後:wordpress/wp-content/plugins/sqlite-integration/

【必須の設定】
wordpress/wp-content/plugins/sqlite-integration/db.phpファイルをコピーします
コピー先:wordpress/wp-content/db.php

必須の設定は、ここれだけです。オプションとしてSQLiteのファイル名を変更する、フォルダを変更する方法があります。次の「手順5 ワードプレスの設定」で説明しています。

手順5 ワードプレスの設定


最新版ワードプレスを展開するとwordpress/wp-config-sample.phpが解凍されています。
wordpress/wp-config-sample.phpをリネームします。
リネーム名:wordpress/wp-config.php

これで準備完了です。

MySQLを使わないため、wp-config.phpを編集する必要はありません。
SQL Integration用の設定がいくつか可能です。

wp-config.phpを編集する際は、必ずUTF-8(BOMなし)で保存してください。

【SQLiteのファイル名を変更する】
DB_FILEでSQL IntegrationがアクセスするSQLite3データベースのファイル名を変更することができます。

wp-config.phpに追加します。
define('DB_FILE', 'your_database_name');


your_database_nameのままでも大丈夫です。
your_database_nameをお好きな名前に変更してください。

変更したwp-config.phpはサーバーにコピーしてください。

【SQLiteのフォルダを変更する】
DB_DIRでSQL IntegrationがアクセスするSQLite3データベースのフォルダを変更することができます。
HTTPでアクセスできないフォルダを指定することでセキュリティが向上できます。

define('DB_DIR', '/home/youraccount/database_directory/');



手順6 ワードプレスの設置と初回アクセスでサイト名、ユーザー名、パスワードの設定


サイトを公開したいサーバーへ設置します。

ドメインやフォルダの指定をコントロールパネルで指定後、
公開したURLにアクセスし、サイト名、管理者ユーザー名、管理者パスワードを指定します。

お疲れ様です。これで手順完了です。


もし、アクセスしても真っ白な画面になってしまった場合、
ドメイン/wp-login.phpへアクセスしてみてください。
これでも真っ白画面の場合、wp-config.phpがBOM付きUTF-8で保存されている可能性があります。
文字コードを指定できるエディタ(sakura editor、秀丸エディタ等)でUTF-8(BOMなし)保存したものを
再アップロードし確認してみてください。



ワードプレス4.8をSQLite3で動かす手順【SSHでログイン編】


本手順は、Linux系コマンドを多用しています。
設定は、「基本の手順」に従っています。よくわからない場合は、参照してください。

ご契約しているレンタルサーバーのコントロールパネルでワードプレスを動かしたいドメインの初期設定を行います。
初期設定で、~/ドメイン名/public_html/などのフォルダが自動生成されるかと思います。
後からフォルダを指定することで公開できるタイプのレンタルサーバーの場合は、省略して構いません。

これからご紹介するのは、
~/ドメイン名/public_html/にSQL Integrationを適用した最新ワードプレスを設定する流れになります。

1 sshでログインする


$ ssh レンタルサーバー 
$ cd ~/ドメイン名/


2 必要なファイルをダウンロード


カレントフォルダは、~/ドメイン名/です。
$ curl -O https://ja.wordpress.org/latest-ja.tar.gz
$ curl -O https://downloads.wordpress.org/plugin/sqlite-integration.1.8.1.zip


3 展開(解凍)


カレントフォルダは、~/ドメイン名/です。
$ cd public_html 
$ tar xvzf ../latest-ja.tar.gz --strip=1
$ mv wp-config-sample.php wp-config.php
$ cd wp-content/plugins/
$ unzip ../../../sqlite-integration.1.8.1.zip
$ cp -p db.php ../../.


公開フォルダがpublic_htmlではなく~/ドメイン名/方式の場合は、cd public_htmlは不要です。

4 必要な方はwp-config.phpを修正します


手順5 ワードプレスの設定」を参考に、SQLite Integrationのオプションを指定してください。

5 用済みのファイルを削除する


後始末です。
latest-ja.tar.gzファイル、sqlite-integration.1.8.1.zipファイルは使わないので、削除します。
必要な方は残しておいて構いません。
$ cd ~/ドメイン名/
$ rm latest-ja.tar.gz
$ rm sqlite-integration.*.zip


これでMySQLなしでSQLite3+最新ワードプレスの環境が整いました。
あとは、「手順6 ワードプレスの設置と初回アクセスでサイト名、ユーザー名、パスワードの設定」でワードプレスの初期設定を始めましょう!


ワードプレス4.8をSQLite3で動かす手順【FTPで転送編】


ご契約しているレンタルサーバーのコントロールパネルでワードプレスを動かしたいドメインの初期設定を行います。
初期設定で、~/ドメイン名/public_html/などのフォルダが自動生成されるかと思います。
後からフォルダを指定することで公開できるタイプのレンタルサーバーの場合は、省略して構いません。

これからご紹介するのは、
~/ドメイン名/public_html/にSQL Integrationを適用した最新ワードプレスを設定する流れになります。

Windows10 PCを使っていることを想定した流れです。
FTPソフトは、FFFTP Ver 1.99a-20170325などご利用ください。

1 必要なファイルをダウンロード


Chromeで以下URLのファイルをダウンロードします。

https://ja.wordpress.org/latest-ja.zip
https://downloads.wordpress.org/plugin/sqlite-integration.1.8.1.zip

Microsoft Edgeは、ダウンロードできない場合があります。

wordpress.orgはwordpressの公式ドメインです。


3 展開(解凍)とコピー(その1)


Windows10のダウンロードフォルダにlatest.zip、sqlite-integration.1.8.1.zipを解凍します。
wordpress-sqlite3-ftp-010.png

図のようにpluginsフォルダにsqlite-integrationを移動またはコピーします。

4 db.phpのコピー


wordpress-sqlite3-ftp-020.png

図のようにplugins\sqlite-integration\db.phpをwordpress\wp-contentへコピーします。


5 必要な方はwp-config.phpを修正します


手順5 ワードプレスの設定」を参考に、SQLite Integrationのオプションを指定してください。

6 再圧縮


ご契約のレンタルサーバーのコントールパネルから、圧縮ファイルを解凍する機能はあるでしょうか?

解凍する機能がある場合、ワードプレス+SQLite3を整えた圧縮ファイルを作成した方がスムーズに進められます。
圧縮ファイルは1ファイルの転送で完了します。
もし、解凍する機能がない場合、生ファイルをFTP転送するため、
数多くのファイル転送を行うことになります。途中で失敗することもあるので、リトライしながらアップロードします。


FTPで転送できるように再圧縮します。
wordpress-sqlite3-ftp-030.png

図のようにwordpressフォルダを全選択後、圧縮ファイルを作ります。

圧縮ファイル作成後、任意のファイル名に変更することができます。

7 FTPで公開サーバーへ転送する


FFFTPで公開サーバーに接続し、
ドメイン名/public_htmlへ移動します。

解凍機能があるレンタルサーバーの場合、index.zipをアップロードし、コントロールパネルから解凍してください。
解凍機能がないレンタルサーバーの場合、全ファイル選択後、アップロードしてください。
ファイル数が多いので、転送完了までにはしばらく時間がかかります。


これでMySQLなしでSQLite3+最新ワードプレスの環境が整いました。
あとは、「手順6 ワードプレスの設置と初回アクセスでサイト名、ユーザー名、パスワードの設定」でワードプレスの初期設定を始めましょう!




wordpress「予期しない出力により Cookies がブロックされました。」の対処方法まとめ

Cookies-are-blocked-due-to-unexpected-output.png


wp-login.phpにアクセスした際、
Cookies are blocked due to unexpected output、
または、予期しない出力により Cookies がブロックされました。
と表示されることがあります。

このエラー(「予期しない出力により Cookies がブロックされました。」)が発生すると、/wp-admin/にアクセスすると真っ白な画面になります。

また、wp-login.phpで正しいユーザー名、パスワードを正確に打ち込んでも、ログインできません。

この記事の続きはこちら>>>

WordPressの脆弱性突く攻撃とは?【実例ログ付き】

wordpress-security-hole-attacked-log.jpg


ドメインを取得して、レンタルサーバーにWordPress(ワードプレス)をインストールした後、ワードプレスのアップデートをあまりしていない、放置していると・・
サイトを改ざんされたり、
最悪サイトを乗っ取られる可能性もあります。

レンタルサーバーでワードプレスをインストールする方法は、以下2つあります。
  • 簡単インストール:レンタルサーバーのコントロールパネルからドメイン、ユーザー名、パスワード、データベースなど一括で設定できます。
  • 手動インストール:https://ja.wordpress.orgからワードプレス本体を取得して、FTPやSSHで手動で展開する


簡単インストールは、レンタルサーバーによって名称の違いや設定できる項目に若干の違いがあります。

簡単インストールしたワードプレスは、自動的に新しいバージョンにアップデートしてくれるので安心です。

手動インストールした場合は、wp-config.phpを書き加えることで自動更新に対応できます。
ワードプレスCoreを自動更新する設定:https://codex.wordpress.org/Configuring_Automatic_Background_Updates


テーマやプラグインの脆弱性も狙われるので、上記リンクにテーマやプラグインの自動更新方法も掲載されているので参考にしてください。




続きはこちら

お名前COMからエックスサーバーへ引っ越しする際のハマりやすい5つのポイント

お名前COMっていうとドメインですよね、この記事はお名前COMの共用サーバーからエックスサーバーに引っ越する際のポイントをまとめています。


お名前COMの共用サーバーからエックスサーバーに引っ越し作業を実施しました。

数多いサイトを引っ越ししました。
この中でワードプレスのマルチサイトがあったのですが、とってもハマったので備忘録を兼ねて残しています。

ドメインの管理できる数は無制限とかですが、データベースの数は有限です。
エックスサーバー(X10)の場合、50個がデータベースの上限です。

なので・・・

データベースを利用するワードプレスで、ドメインとデータベースは以下のように
ドメインに対して1データベースを割り当てるようにしています。
example1.com => データベース1
example.com =>データベース2
sub1.example.com =>データベース2
sub2.example.com =>データベース2
example2.com =>データベース3

お名前COM、さくらサーバー、ロリポップ、エックスサーバーなどには、ワードプレスを簡単にインストールできるツールが備わっています。

データベースとドメインが1対1の場合、簡単インストール系がとても簡単です。
データベースとドメインが1対Nの場合、簡単インストール系は使えなかったりします。


エックスサーバーは、手動インストールする必要がありました。




1つのデータベースで複数のワードプレスサイトを管理する仕組み



ワードプレスのwp-config.phpに「 WordPress データベーステーブルの接頭辞」設定があります。
通常デフォルトは、下記のようにwp_になっています。
$table_prefix = 'wp_';


1つのデータベースで複数のワードプレスサイトを運営する場合、このwp_を別々の名前で指定することで対応可能です。

example.com => $table_prefix='wp_';
sub1.example.com => $table_prefix='wp1_';
sub2.example.com => $table_prefix='wp2_';

$table_prefixは、以下のようにテーブル名として利用されます。
  • wp_commentmeta
  • wp_comments
  • wp_links
  • wp_options
  • wp_postmeta
  • wp_posts
  • wp_termmeta
  • wp_terms
  • wp_term_relationships
  • wp_term_taxonomy
  • wp_usermeta
  • wp_users


wp_の部分を変えることで、1つのデータベースで複数のサイトが管理できるようになっています。

ワードプレスって便利ですよね!

お名前COMからエックスサーバーへ引っ越しする際のハマりやすい3つのポイント


ワードプレスとデータベースが1対1のサイトを引っ越す際は、
ワードプレスのエクスポート機能、インポート機能を使いました。


手順は、ざっくりと以下の通りです。
  1. コンテンツやメディアを1つにまとめたxmlファイルをエクスポート
  2. ワードプレスの設定や導入しているプラグインをメモっておく
  3. ==引っ越し開始 ==
  4. エックスサーバーのサーバーパネル>ドメイン設定から引っ越しするサイトを追加する
  5. お名前COMのドメインNaviでdnsを他社でns1.xserver.jp・・・ns5.xserver.jpに変更する
  6. エックスサーバーのサーバーパネル>自動インストールからワードプレスをインストールする
  7. サイトにアクセスできたら、2でメモったテーマ、プラグイン、設定などをインストール・設定する
  8. 1でダウンロードしたXMLファイルをワードプレスのインポート機能で取り込む



ワードプレスとデータベースが1対Nのサイトを引っ越す際、とってもハマりました。


基本的な流れとしては、お名前COM側 MySQLのエクスポート、ワードプレスサイトのフォルダをtarでまとめて転送する、あとはエックスサーバー側に適用するといった流れです。


データベース(MySQL)の引っ越しは、特にハマるポイントはなかったです。

手順としては、お名前COMにadminerをインストールしてデータベースをエクスポート、
エックスサーバー側でデータベースを作って、ユーザーを追加設定し、
phpmyadminを使ってインポートしています。


ポイント1 まさかのサブドメインの文字数制限


お名前COMでは特に意識したことがなかったんですが、
エックスサーバーのサブドメインには文字数制限があります。
制限は、30文字です。

サブドメインは30文字までに心がけましょう!

サポートにお願いしてなんとかなったりしないかなぁと思って問い合わせてみたんですが、
例外なしで、30文字まででしたorz。

ちなみにオーバーしたサイトはそのままでは引っ越しできません。つまりサブドメイン名の変更になります。・・・


ポイント2 403 Forbidden、さらに真っ白なトップページ


わかるととっても簡単でしたが、難問でした・・
お名前COMでtar cvf サイト.tar.gz ./サイトでまとめたファイルを
エックスサーバーで展開しました。

パーミッションが変なんです!

どこで変になったのか、ちょっと不明なんです(※1)が、
ファイル、ディレクトリともにgroup/othersの読み込みパーミッションがなくなっていました。
なので、以下コマンドでサッっと設定しなおしたらアクセスできるようになりました。

ディレクトリのパーミッションを一括設定
find . -type d -exec chmod 755 {} +


ファイルのパーミッションを一括設定
find . -type f -exec chmod 644 {} +


どちらのコマンドもとっても便利ですよ^^。これの意味を調べてわかればきっと立派なLinuxerですね

(※1)卵が先か、鶏が先かの問題になりますが、同じドメインで引っ越しする場合、エックスサーバー側で事前準備がしにくかったりします。
ドメインを設定しないとフォルダが作られないとかありますからね

そこで、あらかじめフォルダを作って、事前準備万端で引っ越し作業をしました。
エックスサーバーのサーバーパネルからドメインを追加した後に準備したwordpressのフォルダをmvしたりする作業をしています。

準備していたタイミングでは特にパーミッションの問題はなかったはずですが、アクセスできるようになったタミングではパーミッションがおかしかったです。


ポイント3 お名前COMのウェブ設定>かんたんブログインストールしたワードプレスの引っ越し


かんたんプログラムインストールしたワードプレスサイトは、
サイト/wp/などwpフォルダがひつようだったり、
4.2.2-ja-jetpackなどが適用されていますよね。


wpフォルダのまま以降したい方は、このポイントは当てはまりません。

ここではwpフォルダからの脱却、jetpack未使用のサイトに引っ越しする方に最適です。

データベースの引っ越しができている状態の場合、コンテンツやワードプレスの設定はデータベースに含まれています。

これ以外に最低限必要なのは、ワードプレスの本体、適用していたテーマ、アップロードした画像ファイルなどです。


ポイント3としては、wpフォルダからの脱却に伴い、データベースを編集が必要です。
wpフォルダがない状態で、wpフォルダにアクセスするため表示されないサイトになります。

エックスサーバーのphpmyadminで、
wp_optionsテーブルのsiteurl、home項目にwpがある場合、
wpをなくすように設定してください。



ポイント4 エックスサーバーに簡単引っ越し!サブドメインの設定手順


名前COMのサブドメインは、~/sub1.example.comのような構成で作られます。
エックスサーバーのサブドメインは、~/example.com/public_html/sub1/のような構成になります。

比較ではあまり語られない部分で、結構ちがったりしますね・・

サブドメインの設定手順は以下の通りです。
  1. サーバーパネルからサブドメインを追加する
  2. sshでエックスサーバーのsub1フォルダにアクセスします。
    % cd ~/example.com/public_html/sub1


  3. ワードプレスの最新版をダウンロード&展開
    % curl -O https://ja.wordpress.org/latest-ja.tar.gz


    wordpress latest-ja.tar.gzをwordpressディレクトリを除いて展開する方法
    これとっても便利です。忘れないように覚えておくと使いどころ満載です。
    % tar --strip-components 1 -xvf latest-ja.tar.gz


    --strip-components 1で、latest-ja.tar.gzにふくまれているwordpress/の部分を除去して展開してくれます。

  4. ワードプレスの設定
    % cp wp-config-sample.php wp-config.php
    % vi wp-config.php


    データベースの設定、テーブルプレフィックスを適切に設定してくださいね。

    あなたの環境に従って最低限修正・見直しが必要な項目は以下5つです。
    DB_NAME、DB_USER、DB_PASSWORD、DB_HOST、$table_prefix = 'wp_';

    % vi .htaccess 

    最低限ワードプレスのデフォルト設定をしておきましょう!
    .htaccessに以下のような記載がなかったら追加してくださいね。
    # BEGIN WordPress

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]


    # END WordPress



    ポイント5 tarでシンボリックリンクも含めちゃう お名前COMのウェブ設定>かんたんブログインストールしたワードプレスの引っ越し


    お名前COMはSunOS系なので、標準コマンドがgnuでなかったりします。
    そのため、tarコマンドなどはgzファイルに対応していないです。

    それでも、シンボリックリンクを展開した状態でまとめるオプションhは有効です。
    % tar cvfh files/xx.tar ./example.com


    とhを指定することでシンボリックリンクを展開してtarファイルにすることができます。

    tar.gzにするためには、以下コマンドを打ち込みます。
    % gzip files/xx.tar 


    これでfilesフォルダにxx.tar.gzが作成されます。

    このファイルの中には幾つか不要なファイル、お名前COM特有の設定情報が含まれます。
    エックスサーバーで展開後、さくっと削除してください。

    不要ファイル・フォルダは以下です。
    kantan-cgi(ディレクトリごと削除)
    .php




    まとめ


    同じドメインのまま、お名前COMからエックスサーバーに引っ越しした際、はまった5つのポイントをできるだけわかりやすいよう説明しました。

    エックスサーバーでドメインを追加して、お名前comのドメインナビで他社を指定した際、すぐに反映されるパターンと、3時間くらい反映までに時間がかかるパターンがありました。

    引っ越しする際は、普段アクセスが少ない時間帯に引っ越しするのが良さそうです。

    お名前COMの共用サーバーでドメイン削除してないよね?!って疑問に思っている方もいるかもしれません。
    この状態でもエックスサーバーには引っ越しできています。
    あとあと問題があるかもしれませんが、削除してしまうと、実体ファイルも削除されてしまうので、過去の設定が見えなくなったりします。
    利便性をとってこのような手順にしています。


    技術的なポイントとしては、tarの--strip-componentsが結構使えるとおもっています。



    お名前COMのドメインとフォルダの関係は結構好きです。
    ドメイン、サブドメインがlsで一覧できるのがとってもよかったです。

    ロリポップのフォルダ構成はちょっと苦手です。
    初期ドメインの下に配置される感じです。

    エックスサーバーは、ドメイン毎にフォルダが設定されるのでドメイン視点ではシンプルです。

    自由度が高いのは、さくらサーバーです。自分で任意のフォルダ指定できちゃうので、ほんと奔放ですよ^^






    これからレンタルするなら、このサーバーひとつで満足できるはずです。
    性能・速度・サポートに満足しているからおすすめできます!






Wordpress Post/Page/Category/TagのURL一覧は結局自作しました

ワードプレスのサイトを引っ越しする、思い立ったのはいいんですが、面倒ですよね・・

特にマルチサイトとか立てたちゃっているサイトだと本当、面倒です。


引っ越し自体はたくさん参考になるサイトが見つかるので、ぜひググってください。

ワードプレス自体の引っ越しに関してはいろいろ情報はあります。
でも、
しっかり移行できたのか、
ちゃんとアクセスできるのか、
本当に正しく引っ越しできたのか?
といった移行の正しさを確認する方法が少なかったです。


ワードプレス => 別サーバーのワードプレスだから問題ないでしょ?

って思っていいんですかね・・・

石橋を叩いて渡る性格だと、なんか不安です・・・


がっちりテストケースを組んでやるほど余力もないので、チョー簡単に確認する手段を検討しました。

その方法とは、URLが移行前と、移行後が一致するかです。


同じワードプレス、MySQLを使って、引っ越ししているわけなので、基本記事が表示されるはずです。
データベースごとごっそり移行した場合、あまり神経質になる必要はないかと思います。



ワードプレスの基本機能にある、エクスポート、インポートを使う場合には、ワードプレス自体の設定も絡んでくるので確認したい項目ですね!



ワードプレスのプラグインでいいのがあったらと探したんですが、網羅されているURL一覧プラグインは見つかりませんでした。

もし、知っている方いたら、こっそりコメントいただけると嬉しかったりします^^
(コメントは承認制にしているので、すぐには反映されませんm(_ _)m )


プラグインを探して確認してみて、希望に合うものが見つからなかったので疲れたました。
そこで、探す時間がもったいなかったので、サクッと手抜きphpを作ることにしました。









Wordpress Post/Page/Category/TagのURL一覧のソースを公開・・・
最新記事
最新コメント
タグクラウド
カテゴリアーカイブ
×

この広告は30日以上新しい記事の更新がないブログに表示されております。