マイクロ office ★excel2016 価格 http://www.msofisu.com

microsoft オフィス ★office365 価格 個人

Eccubeテンプレート販売 Golf0011ゴルフウェアレディースの通販サイト

女性ゴルファーに人気NO.1セレクトショップ

ECサイト構築 事例 Golf0011ゴルフウェアレディースの通販サイト

おしゃれなレディースゴルフウェア・ゴルフアクセサリーのセレクトショップ有名ブランドのアイテム多数を取り扱いしている女性ゴルフウェアの通販サイトです。

 

ゴルフウェアレディースの通販サイト商品詳細ページ

ゴルフウェア 商品詳細ページ

ゴルフウェアレディースの通販サイトカテゴリ毎ページ

カテゴリ毎ページ

 

WordPress カテゴリーページでパーマリンクから”category”を取り除く

WordPress プラグインなしで「category」を除外する方法 category base 削る

WordPressパーマリンク設定のカテゴリーベースとは?

WordPressの管理画面→設定→パーマリンク設定で「カスタム構造」を利用している人は多いと思いますが、その下のオプション「カテゴリーベース」や「タグベース」は見て見ぬフリをしているはず(私がそうです)。WPのカテゴリーページでパーマリンクから”category”を取り除く4つの方法

1.カテゴリーベースとは?

カテゴリーベースとは、カテゴリーのURL(カテゴリー一覧ページのURL)の指定に利用するものです(記事のURLには全く無関係)。

通常、「wordpress」というカテゴリーを作成した場合、そのカテゴリーのURLは

http://www.eccube.org/category/wordpress/

となります。そう、カテゴリー名(カテゴリーのスラッグ名)の前に「category」という単語が自動的に入ります。そこでカテゴリーベースの項目に「hoge」を設定すると、「wordpress」カテゴリーのURLは

http://www.eccube.org/hoge/wordpress/

となります。

2.カテゴリー名の前につく「category」を除外する方法

wordpress」というカテゴリーを作成した場合、そのカテゴリーURLは

http://www.eccube.org/wordpress/

としたいところです(考え方としては、サイト構造として「wordpress」というディレクトリを作成したようにしたい)。

その方法ですが、カテゴリーベースに「.」(ドット)をつけるだけです。それだけで、カテゴリーURLに自動でつく「category」という単語をURLから除外できます。

3.蛇足

カテゴリーベースに「.」を設定し、「domein」というカテゴリを作成した場合、そのURLは以下のようになります。

http://www.eccube.org/domein

その「domein」のカテゴリにはいくつかの記事が所属するわけですが、その記事のURLは特別な設定をしていない場合、次のようにデフォルトのURLになります。

http://www.eccube.org/?p=123

しかし、せっかく「domein」というカテゴリに所属しているならば、以下のようにしたいところです。

http://www.eccube.org/domein/123.html

その方法は、以下のようにするだけです。

カテゴリーベース

つまり、カスタム構造を「/%category%/%post_id%.html」、カテゴリーベースを「.」にするだけです。

なお、カスタム構造の値を「/%category%/%post_id%」にすると、サブカテゴリーページが404エラーとなり、表示されなくなるため、必ず「.html」を付けてください。

或は、

/%category%/%postname%/

 

プラグインを利用する

プラグインで削除する方法が一般的なよう。

以下の3つあたりが多い。

WordPress › WP No Category Base « WordPress Plugins

WordPress › WP No Category Base – WPML compatible « WordPress Plugins

WordPress › FV Top Level Categories « WordPress Plugins

ただし日本語の扱いや、プラグインをやめたらページが表示されないといった不具合報告を見かけました。

function.php で置換する

ディフォルトの「category」を function.php を使って削除する。

function.php

add_filter(‘user_trailingslashit’, ‘remcat_function’);

function remcat_function($link) {

return str_replace(“/category/”, “/”, $link);

}

add_action(‘init’, ‘remcat_flush_rules’);

function remcat_flush_rules() {

global $wp_rewrite;

$wp_rewrite->flush_rules();

}

add_filter(‘generate_rewrite_rules’, ‘remcat_rewrite’);

function remcat_rewrite($wp_rewrite) {

$new_rules = array(‘(.+)/page/(.+)/?’ => ‘index.php?category_name=’.$wp_rewrite->preg_index(1).‘&paged=’.$wp_rewrite->preg_index(2));

$wp_rewrite->rules = $new_rules + $wp_rewrite->rules;

}

WordPress の内部についても分かってないといけないですね。

Apachemod_rewrite で書き換える

.htaccess あたりに追記する。

既存の.htaccessをバックアップしてから、以下の1行を追記します。

RewriteRule ^category/(.+)$ http://yourwordpresssite.com/$1 [R=301,L]

※もちろん「yourwordpresssite.com」はあなたのサイトのドメインに置き換えて!

以上、既出感満載なTipsでしたが、やっぱりプラグインを使った方法が一番オールマイティに安全にスラッグを書き換えれますね!

【EC-CUBE】新規ページ追加方法 user_dataを省く 方法

EC-CUBE】新規ページ追加方法 user_dataを省く

[ec-cube] ページ詳細設定から追加した新規ページのURLの「/user_data/」を排除する

EC-CUBE URL変更 EC-CUBE 新規に独自ページを追加 方法 ページ詳細設定 EC-CUBEのデフォルトは動的URLで作成されます,これを静的URLに変更してSEO 対策します。

【EC-CUBE2.12.0】新規ページ追加方法 user_dataを省く EC-CUBEで新規ページを作成する時、普通の場合だと管理画面から

「デザイン管理」>「PC」>「ページ詳細設定」

を選んで新しくページ(tpl)を作成します。

が、この方法で作成されたページはすべて「/user_data/」フォルダ直下に置かれURLがあまりかっこよくない感じになってしまいます。

なので今回はhttp://xxx.com/test/というURLになるようにする方法を紹介します。

手順

1:管理画面からページを新規追加

2:データベース(dtb_pagelayout)を修正

3:新規追加したページのファイルをFTPで移動

以上の3STEPでできます。超簡単です。

FTPで元からある「order」とかのファイルを見てみると「/data/class/pages/order/LC_Page_Order.php」みたいなPHPファイルを足さないといけないように見えますが別に必要ないっぽいです。

はじめにも言いましたが今回は例としてtestという新規ページを作るという前提でお話していきます。

1:管理画面からページを新規追加

まずは普通にページを新規追加します。

「デザイン管理」>「PC」>「ページ詳細設定」

から行なってください。

この時点ではファイルはデフォルトの通り「user_data」の下に作成されますが、それでOKです。

ヘッダーとフッターを共通~のチェックボックス入れるのをお忘れなく・・

2:データベース(dtb_pagelayout)を修正

次にデータベースを手動で修正します。

僕の場合はphpmyadminなのでそれを例にしていきます。

まずはサーバー管理画面からデータベース管理画面に行きます。

で左サイドバーから「dtb_pagelayout」というテーブルを探してクリック。

右側にいろいろとすでに入っているデータがでてきますね。その中から先ほど管理画面から作成したデータを見つけ出してください。

おそらく「user_data/test.php」という感じになっていると思います。

見つけたら「編集」をクリック!

以下のように3箇所を編集します。

・「/user_data/test.php」から「/test/index.php」に修正

・filenameの項目を「user_data/test」から「test/index」に修正

・update_urlの項目を「Null」(空白)に修正

チェックボックスにチェックを入れてもOK)

例(クリックで拡大)

3:新規追加したページのファイルをFTPで移動

さきほどデータベースに設定した情報に合わせるようにFTPを使って作成されたファイルを移動します。

移動させるファイルは2つです。

/user_data/test.php

/test/index.phpに移動

/data/Smarty/templates/default/user_data/test.tpl

/data/Smarty/templates/default/test/index.tplに移動

もちろん必要に応じてディレクトリは新規作成してください。

以上で作業は完了です。

http://xxx.com/test/にアクセスしてきちんと表示されていればOKです。

うまく表示されないときはもう一度移動した場所とDBの変更がきちんとされてるかを確認してくださいね(・∀・)

※注意事項

・レイアウト設定は管理画面から、内容の編集はFTPから行なってください。

(内容の編集を管理画面からすると表示されなくなります。)

URLを設計する際の推奨ポイント SEO

URLを永続化させるためには、設計時から長く使えて検索エンジンが好むURLを設計しておくことが重要です。以下にポイントをまとめておきますので、設計時の参考にしてください。

URLに使用していい推奨記号は、「-(ハイフン)」と「_(アンダースコア)」

URLはすべて小文字にする

URLの長さはなるべく短くしつつ、可能であればURL中にキーワードを含める

ディレクトリの階層はなるべく浅くする

永続性さえ確保できれば、日本語URLも効果がある

番外. URLは拡張子ではなく、「/」で終える

EC-CUBE 2.13://URL [ec-cube] ページ詳細設定から追加した新規ページのURLの「/user_data/」を排除する

EC-CUBEの管理画面『デザイン管理 > PC > ページ詳細設定』で新規追加したページのURLを.htaccessで操作する。

1.「/user_data/」ディレクトリ排除

URLの「/user_data/」ディレクトリを排除するだけなら

.htaccessの記述

1 RewriteEngine on
2 RewriteCond %{REQUEST_FILENAME} !-f
3 RewriteCond %{REQUEST_FILENAME} !-d
4 RewriteRule ^([a-z0-9\-\_\.]+).php user_data/$1.php [L]

結果例

http://○○○○.co.jp/user_data/test.php

http://○○○○.co.jp/test.php

2.任意のディレクトリ直下にあるように見せかける

URLの「/user_data/」ディレクトリを排除しつつ拡張子.phpを「/」に変えて、

任意のディレクトリ直下にある様に見せかける

.htaccessの記述

1 RewriteEngine on
2 RewriteCond %{REQUEST_FILENAME} !-f
3 RewriteCond %{REQUEST_FILENAME} !-d
4 RewriteRule ^([a-z0-9\-\_\.]+)/ user_data/$1.php [L]

結果例

http://○○○○.co.jp/user_data/test.php

http://○○○○.co.jp/test/

ご注意

任意のディレクトリ直下にある様に見せかける場合には、

/products/、/cart/ 、/contact/ 、/abouts/、/order/、/guide/ 、/admin/ 等、

あらかじめ予約されているディレクトリ名は使わない様にしましょう。

また、正規表現で『 [a-z0-9-_.] 』としていますが、

これはファイル名に「半角英数字」の他に「ハイフン(-)」「アンダーバー(_)」「ドット(.)」も認識する、

という事を意味しています。

EC-CUBE 2.12 で新規ページを任意で作成

では、aboutsというページを参考に表示までの流れを追ってみます。

サイトURL/html/abouts/index.php

data/class_extends/page_extends/abouts/LC_Page_Abouts_Ex.php

data/class/pages/abouts/LC_Page_Abouts.php

data/class_extends/page_extends/LC_Page_Ex.php

data/class/pages/LC_Page.php

http://サイトURL/abouts/にアクセスすると、

data/class_extends/page_extends/abouts/LC_Page_Abouts_Ex.phpをrequireし、LC_Page_Abouts_Exクラスを呼び出します。

LC_Page_Abouts_Ex.phpは特に何もしておらず、親クラスLC_Page_Aboutsのinit(),process(),destroy()を実行しています。

以下はdata/class/pages/abouts/LC_Page_Abouts.phpの中身

<?php

/*

*

  • Copyright© 2000-2012 LOCKON CO.,LTD. All Rights Reserved.

*

*

  • This program is free software; you can redistribute it and/or

  • modify it under the terms of the GNU General Public License

  • as published by the Free Software Foundation; either version 2

  • of the License, or (at your option) any later version.

*

  • This program is distributed in the hope that it will be useful,

  • but WITHOUT ANY WARRANTY; without even the implied warranty of

  • MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

  • GNU General Public License for more details.

*

  • You should have received a copy of the GNU General Public License

  • along with this program; if not, write to the Free Software

  • Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

*/

// {{{ requires

require_once CLASS_EX_REALDIR . ‘page_extends/LC_Page_Ex.php’;

/**

  • サイト概要のページクラス.

*

  • @package Page

  • @author LOCKON CO.,LTD.

  • @version $id:LC_Page_Abouts.php 15532 2007-08-31 14:39:46Z nanasess $

*/

class LC_Page_Abouts extends LC_Page_Ex {

// }}}

// {{{ functions

/**

  • Page を初期化する.

*

  • @return void

*/

function init() {

parent::init();

$this->tpl_page_category = ‘abouts’;

$this->tpl_title = ‘当サイトについて’;

$masterData = new SC_DB_MasterData_Ex();

$this->arrPref = $masterData->getMasterData(‘mtb_pref’);

}

/**

  • Page のプロセス.

*

  • @return void

*/

function process() {

parent::process();

$this->action();

$this->sendResponse();

}

/**

  • Page のアクション.

*

  • @return void

*/

function action() {

$this->objSiteInfo->data = SC_Helper_DB_Ex::sfGetBasisData();

$this->objSiteInfo->data[‘pref’] =

isset($this->arrPref[$this->objSiteInfo->data[‘pref’]])

? $this->arrPref[$this->objSiteInfo->data[‘pref’]] : ‘’;

}

/**

  • デストラクタ.

*

  • @return void

*/

function destroy() {

parent::destroy();

}

}

init()の中でテンプレートの定義をしていますね。

ここを任意に変える必要があるみたいです。

※これだけではテンプレートファイルに行き着かずエラーを吐き出していたので

ここにさらにテンプレートファイルの指定をする必要がありました。

$this->tpl_mainpage = ‘任意のフォルダ名/index.tpl’;

ファイルを作成する。

流れがわかったところで作成するファイルが見えてきましたね。

サイトURL/html/任意の名前/index.php

data/class_extends/page_extends/任意の名前/LC_Page任意の名前Ex.php

data/class/pages/任意の名前/LC_Page_任意の名前.php

data/class_extends/page_extends/LC_Page_Ex.php

data/class/pages/LC_Page.php

data/Smarty/templates/任意のテンプレート/任意の名前/index.tpl

classのファイル名は先頭大文字でもちろんclass名も同じように変えてやればおkです。

余談ですが、先頭大文字ならアンダースコアを省いてキャメル型にしたくなりますね。

管理画面から編集する

「ページも追加できてwktkしてページ編集画面行ったらさっき追加したページが一覧にないではないか。」

という方はDBのdtb_pagelayoutというテーブルに追加してやれば表示される。

INSERT INTO DB名.dtb_pagelayout (

device_type_id ,

page_id ,

page_name ,

url ,

filename ,

header_chk ,

footer_chk ,

edit_flg ,

author ,

description ,

keyword ,

update_url ,

create_date ,

update_date

)

VALUES (

‘10’, ‘新規ページID’, ‘ページタイトル’, ‘任意の名前/index.php’, ‘任意の名前/index’, ‘1’, ‘1’, ‘2’, NULL , NULL , NULL , NULL ,

CURRENT_TIMESTAMP , ‘0000-00-00 00:00:00’

);

こんな感じでいけた。

 

 

Eccube URL静的化完全版 商品詳細ページURL カテゴリURL最適化

EC-CUBEの静的URL生成 URL静的化完全版 商品詳細ページURL カテゴリURL最適化

EC-CUBE 2.13://URL静的化完全版 商品詳細ページURL カテゴリURL最適化 EC-CUBEのデフォルトは動的URLで作成されます,これを静的URLに変更してSEO 対策します。

URLを設計する際の推奨ポイント SEO

URLを永続化させるためには、設計時から長く使えて検索エンジンが好むURLを設計しておくことが重要です。以下にポイントをまとめておきますので、設計時の参考にしてください。

URLに使用していい推奨記号は、「-(ハイフン)」と「_(アンダースコア)」 URLはすべて小文字にする URLの長さはなるべく短くしつつ、可能であればURL中にキーワードを含める ディレクトリの階層はなるべく浅くする 永続性さえ確保できれば、日本語URLも効果がある 番外. URLは拡張子ではなく、「/」で終える

EC-CUBE 2.13://URL静的化完全版を目指す

EC-CUBEで構築したサイトは商品カテゴリ一覧ページや商品詳細ページのURLが、 「http://サーバ名/products/list.php?category_id=xxx」 「http://サーバ名/products/detail.php?product_id=xxx」 という様に、「~.php?~」とURLにクエリが付けてられている状態になります。

最近のGoogleはクエリ付きURLでも先のページをちゃんとクロールしてくれるという話しですが、 過去のSEOを知る身として、そしてURLがクエリ丸見え状態というのはちょっと恥ずかしさもあります。

何より、SEO対策というのは、どれが本当に効果が表れるかというのはとても分かりずらいものなので、 些細なことでも対策しておいて損は無いということもあり、URLの静的化はやっておいて損は無いでしょう。

何より、サイトのURLが美しくて良いです。 

EC-CUBEのURL静的化の現状

Googleなどで検索するればそれらしい記事はたくさん出てきますが、 RSSやsitemap、プラグイン関係まで言及している記事が無かったので、 いきなり完全版にはならないかも知れませんが、一歩一歩進化させていこうと思います。

まず、静的化後のURLをどうするかですが、これも幾つか考えられます。

例えば、

  • http://サーバ名/products/list123/
  • http://サーバ名/products/list/123
  • http://サーバ名/products/list123.html

と言った感じです。

これもSEO的には、ディレクトリが深くない方が良いとか、拡張子が付いていた方が良いなど諸説ありました。 現状としては、SEO的にはどれも変わりは無く、人が見たときにどう感じるかというレベルのようです。

では、「人が見たときに」とは何を考慮すべきか。 URLを見て何のページか分かりやすく、短く、ファイルの中身が何かわかりやすいことだと思います。

したがって、「http://サーバ名/products/list123.html」が一番妥当だと思われます。 

具体的な施策手順

1~2は、最近のサーバーであれば設定する必要が無いものが多いはずです。 今の時代に、mod_rewriteやhtaccessが使えないサーバーであれば、移転を検討すべきでしょう。

1. mod_rewriteの有効化

まずは、「mod_rewrite」を使ったURLリライトの設定を行います。 Webサーバー(Apache)でmod_rewriteが有効になっているかを調べましょう。 httpd.confに下記設定がなされているか、もしくはサーバー会社に問い合わせましょう。 LoadModule rewrite_module modules/mod_rewrite.so[/cod]

2 .htaccessの有効化

WEBサーバーの公開フォルダに対し、「.htaccess」の有効にします。 httpd.confに下記設定を行ってください。 1 <‎Directory “http公開フォルダのパス”>   AllowOverride All   Options FollowSymLinks <‎/Directory>

3. .htaccessにリライトを設定

EC-CUBEの公開ディレクトリルートの「.htaccess」に下記を追記してください。

RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^products/detail([0-9]+).html products/detail.php?product_id=$1&%{QUERY_STRING} [L] RewriteRule ^products/list([0-9]+).html products/list.php?category_id=$1&%{QUERY_STRING} [L]

4. カテゴリーブロックテンプレートの修正

「/data/Smarty/template/default/bloc/category_tree_fork.tpl」を下記のように修正します。 27行目: <p><a href=“<!–{$smarty.const.ROOT_URLPATH}–>products/list.php?category_id=<!–{$child.category_id}–>"~ ↓

27行目: <p><a href=“<!–{$smarty.const.ROOT_URLPATH}–>products/list<!–{$child.category_id}–>.html"~

5. 商品詳細ページURLを示すパラメータ設定の変更

管理画面の「システム設定」→「パラメーター設定」を開き、 「P_DETAIL_URLPATH」という項目を下記のように変更します。

ROOT_URLPATH . “products/detail.php?product_id=”[/cod] ↓ 1ROOT_URLPATH . “products/detail”[/cod]

6. おすすめ商品ブロックテンプレートの修正

「/data/Smarty/template/default/bloc/recommend.tpl」を下記のように修正します。 1 32行目: <a href=“<!–{$smarty.const.P_DETAIL_URLPATH}–><!–{$arrProduct.product_id|u}–>”> 38行目: <a href=“<!–{$smarty.const.P_DETAIL_URLPATH}–><!–{$arrProduct.product_id|u}–>”>~ ↓ 32行目: <a href=“<!–{$smarty.const.P_DETAIL_URLPATH}–><!–{$arrProduct.product_id|u}–>.html”> 38行目: <a href=“<!–{$smarty.const.P_DETAIL_URLPATH}–><!–{$arrProduct.product_id|u}–>.html”>~

7. 商品一覧テンプレートの修正

「/data/Smarty/template/default/products/list.tpl」を下記のように修正します。 152行目: <a href=“<!–{$smarty.const.P_DETAIL_URLPATH}–><!–{$arrProduct.product_id|u}–>”> 171行目: <a href=“<!–{$smarty.const.P_DETAIL_URLPATH}–><!–{$arrProduct.product_id|u}–>”>~ 193行目: <a href=“<!–{$smarty.const.P_DETAIL_URLPATH}–><!–{$arrProduct.product_id|u}–>”>~ ↓ 152行目: <a href=“<!–{$smarty.const.P_DETAIL_URLPATH}–><!–{$arrProduct.product_id|u}–>.html”> 171行目: <a href=“<!–{$smarty.const.P_DETAIL_URLPATH}–><!–{$arrProduct.product_id|u}–>.html”>~ 193行目: <a href=“<!–{$smarty.const.P_DETAIL_URLPATH}–><!–{$arrProduct.product_id|u}–>.html”>~

8. 商品詳細テンプレートの修正

「/data/Smarty/template/default/products/detail.tpl」を下記のように修正します。 172行目: <a href=“<!–{$smarty.const.ROOT_URLPATH}–>products/list.php?category_id=<!–{$arrRelativeCat[r][s].category_id}–>”>~ 355行目: <a href=“<!–{$smarty.const.P_DETAIL_URLPATH}–><!–{$arrItem.product_id|u}–>”> 361行目: <h3><a href=“<!–{$smarty.const.P_DETAIL_URLPATH}–><!–{$arrItem.product_id|u}–>”>~ ↓ 172行目: <a href=“<!–{$smarty.const.ROOT_URLPATH}–>products/list<!–{$arrRelativeCat[r][s].category_id}–>.html”>~ 355行目: <a href=“<!–{$smarty.const.P_DETAIL_URLPATH}–><!–{$arrItem.product_id|u}–>.html”> 361行目: <h3><a href=“<!–{$smarty.const.P_DETAIL_URLPATH}–><!–{$arrItem.product_id|u}–>.html”>~

9. RSSテンプレートの修正

「/data/Smarty/template/default/rss/products.tpl」を下記のように修正します。 33行目: <link><!–{$smarty.const.HTTP_URL}–>products/detail.php?product_id=<!–{$arrProduct.product_id}–></link> 36行目: <a href=“<!–{$smarty.const.HTTP_URL}–>products/detail.php?product_id=<!–{$arrProduct.product_id}–>” rel=“product”> 39行目: <div class=“product-title”><a href=“<!–{$smarty.const.HTTP_URL}–>products/detail.php?product_id=<!–{$arrProduct.product_id}–>” rel=“product”>~ ↓ 33行目: <link><!–{$smarty.const.HTTP_URL}–>products/detail<!–{$arrProduct.product_id}–>.html</link> 36行目: <a href=“<!–{$smarty.const.HTTP_URL}–>products/detail<!–{$arrProduct.product_id}–>.html” rel=“product”> 39行目: <div class=“product-title”><a href=“<!–{$smarty.const.HTTP_URL}–>products/detail<!–{$arrProduct.product_id}–>.html” rel=“product”>~

10. sitemap.phpの修正

「/data/class_extends/page_extends/LC_page_Sitemap_Ex.php」に下記追記します。

function process() { parent::process(); } } ↓ function process() { parent::process(); }

/* * 全ての商品一覧ページを取得する. * * @return array 検索エンジンからアクセス可能な商品一覧ページの情報 / public function getAllProducts() { // XXX: 商品登録の無いカテゴリは除外する方が良い気もする $objQuery = SC_Query_Ex::getSingletonInstance(); $sql = ‘SELECT category_id FROM dtb_category WHERE del_flg = 0’; $result = $objQuery->getAll($sql);

$arrRet = array(); foreach ($result as $row) { // :TODO: カテゴリの最終更新日を取得できるようにする

$arrPage[‘url’] = HTTP_URL . ‘products/list’ . $row[‘category_id’] . “.html”; $arrRet = $arrPage; }

return $arrRet; }

/* * 全ての商品詳細ページを取得する. * * @return array 検索エンジンからアクセス可能な商品詳細ページの情報 / public function getAllDetail() { $objQuery = SC_Query_Ex::getSingletonInstance(); $sql = ‘SELECT product_id, update_date FROM dtb_products WHERE ’ . SC_Product_Ex::getProductDispConditions(); $result = $objQuery->getAll($sql);

$arrRet = array(); foreach ($result as $row) { $arrPage[‘update_date’] = $row[‘update_date’];

$arrPage[‘url’] = HTTP_URL . substr(P_DETAIL_URLPATH, strlen(ROOT_URLPATH)) . $row[‘product_id’] . “.html”; $arrRet = $arrPage; }

return $arrRet; } }

あとは、マイページ、お気に入り、スマホ・フューチャーフォンの対策も必要になるかと思いますが。

(4)以下のPC用ファイルに「.html」を追記する。 ■data/Smarty/templates/default/products/list.tpl(3カ所) ■data/Smarty/templates/default/frontparts/bloc/recommend.tpl(2カ所) <!–{$arrProduct.product_id|u}–> ↓(変更) <!–{$arrProduct.product_id|u}–><!–{if $smarty.const.STATIC_URL == true}–>.html<!–{/if}–> ■data/Smarty/templates/default/products/detail.tpl(「関連商品」の2カ所) <!–{$arrItem.product_id|u}–> ↓(変更) <!–{$arrItem.product_id|u}–><!–{if $smarty.const.STATIC_URL == true}–>.html<!–{/if}–> (5)スマートフォン用ファイルに「.html」を追記する。 ■data/Smarty/templates/sphone/products/list.tpl(1カ所) <!–{$arrProduct.product_id|u}–> ↓(変更) <!–{$arrProduct.product_id|u}–><!–{if $smarty.const.STATIC_URL == true}–>.html<!–{/if}–> ■data/Smarty/templates/sphone/frontparts/bloc/recommend.tpl(1カ所) <!–{$arrBestProducts[cnt].product_id|u}–> ↓(変更) <!–{$arrBestProducts[cnt].product_id|u}–><!–{if $smarty.const.STATIC_URL == true}–>.html<!–{/if}–> ■data/Smarty/templates/sphone/products/detail.tpl(「その他おすすめ商品」の1カ所) <!–{$arrRecommend[cnt].product_id|u}–> ↓(変更) <!–{$arrRecommend[cnt].product_id|u}–><!–{if $smarty.const.STATIC_URL == true}–>.html<!–{/if}–> (6)MYページのhistory.tpl,favorite.tplに適用 ■data/Smarty/templates/default/mypage/history.tpl(1カ所) ■data/Smarty/templates/sphone/mypage/history.tpl(1カ所) <!–{$orderDetail.product_id|u}–> ↓(変更) <!–{$orderDetail.product_id|u}–><!–{if $smarty.const.STATIC_URL == true}–>.html<!–{/if}–> ■data/Smarty/templates/default/mypage/favorite.tpl(2カ所) ■data/Smarty/templates/sphone/mypage/favorite.tpl(2カ所) <!–{$product_id|u}–> ↓(変更) <!–{$product_id|u}–><!–{if $smarty.const.STATIC_URL == true}–>.html<!–{/if}–>

 

WordPress プラグインなしでパンくずリストを表示

WordPress プラグインなしでパンくずリストを表示

WordPressで記事ページにパンくずリストを表示する方法は、プラグインなど様々な方法があります。

いろんな方法がありますが、テンプレートタグを使えば、かなり簡単に表示させる事ができます。

最近のWordPress用ブログテンプレートは、いわしブログでも使用しているStinger3を始め、最初からパンくずリスト出力が標準装備されるようになってきました。

でも、企業向けのWordPressサイトを一から作る場合は、やはり自前でパンくずリストを設置する必要があります。WordPressにはパンくずリスト表示用プラグインがたくさんありますが、今回はプラグインを使わずにパンくずリストを設置する方法を紹介します。

パンくずリストとは?

パンくずリスト

パンくずリストとは、webサイトやブログ内での位置を視覚的にわかりやすくするために、滞在中のページを階層順にリスト化して表示したものです。このブログにもタイトルの上にパンくずリストが表示されていますね。

規模の大きいサイトだと、現在どの階層のページを見ているのかがわかりにくいのですが、パンくずリストがあれば、サイト内の現在位置が直感でわかるようになります。

また、パンくずリストは、ユーザビリティの向上だけではなく、SEOにも重要な役割を果たしています。

検索エンジンにサイトの構造を正しく認識させることは、SEOの重要なポイントの一つなのですが、パンくずリストを表示させることで、検索エンジンにサイトの階層や構造を正確に把握させることができます。

ちなみに、「パンくず」という名称の由来ですが、童話「ヘンゼルとグレーテル」の中で、主人公が森の中で迷わないように、パンくずを落としながら歩いたというお話から来ています。英語では「breadcrumbs」と表記します。

プラグインなしでパンくずリストを設定

WordPressには、パンくずリストを表示するためのプラグインがたくさんありますが、今回はプラグインを使わずにパンくずリストを表示させることにしました。

パンくずリスト表示コードは、bl6.jpさんの記事から引用させていただきました。ありがとうございます。

 

パンくずリスト表示コード functions.php記載用

まずはfunctions.phpに以下のコードを記載します。このコードは投稿ページだけでなく、カテゴリや固定ページにも対応、固定ページが親子構造になっている場合でもパンくずリストを出力させることができます。

また、microdata形式による構造化マークアップにも対応しています。自動的にmicrodataコードがパンくずと共に生成されるので、検索結果にパンくずを表示させることができます。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
function breadcrumb(){
    global $post;
    $str ='';
    if(!is_home()&&!is_admin()){
        $str.= '<div id="breadcrumb" class="cf"><div itemscope itemtype="http://data-vocabulary.org/Breadcrumb">';
        $str.= '<a href="'. home_url() .'" itemprop="url"><span itemprop="title">ホーム</span></a> &gt;</div>';
        if(is_category()) {
            $cat = get_queried_object();
            if($cat -> parent != 0){
                $ancestors = array_reverse(get_ancestors( $cat -> cat_ID, 'category' ));
                foreach($ancestors as $ancestor){
                    $str.='<div itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="'. get_category_link($ancestor) .'" itemprop="url"><span itemprop="title">'. get_cat_name($ancestor) .'</span></a> &gt;</div>';
                }
            }
        $str.='<div itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="'. get_category_link($cat -> term_id). '" itemprop="url"><span itemprop="title">'. $cat-> cat_name . '</span></a></div>';
        } elseif(is_page()){
            if($post -> post_parent != 0 ){
                $ancestors = array_reverse(get_post_ancestors( $post->ID ));
                foreach($ancestors as $ancestor){
                    $str.='<div itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="'. get_permalink($ancestor).'" itemprop="url"><span itemprop="title">'. get_the_title($ancestor) .'</span></a></div>';
                }
            }
        } elseif(is_single()){
            $categories = get_the_category($post->ID);
            $cat = $categories[0];
            if($cat -> parent != 0){
                $ancestors = array_reverse(get_ancestors( $cat -> cat_ID, 'category' ));
                foreach($ancestors as $ancestor){
                    $str.='<div itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="'. get_category_link($ancestor).'" itemprop="url"><span itemprop="title">'. get_cat_name($ancestor). '</span></a> &gt;</div>';
                }
            }
            $str.='<div itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="'. get_category_link($cat -> term_id). '" itemprop="url"><span itemprop="title">'. $cat-> cat_name . '</span></a></div>';
        } else{
            $str.='<div>'. wp_title('', false) .'</div>';
        }
        $str.='</div>';
    }
    echo $str;
}

パンくずリスト表示コード single.php page.php記載用

続いて、パンくずリストを表示させたい場所に以下の呼び出し用コードを貼り付けてください。

1
<?php breadcrumb(); ?>

ダッシュボード左側のメニューから「外観」→「テーマ編集」と進み、右側に表示されるテンプレートの中からsingle.php・page.phpを選択してコードを貼り付けます。パンくずリストはそのページのタイトル前後に表示させるのが一般的ですね。

また、archive.phpに貼り付けると、カテゴリや月別アーカイブでもパンくずリストを表示させることができます。カテゴリやアーカイブはテーマによって該当するテンプレートが違うので注意してくださいね。

Googleウェブマスターツール 構造化データテストツール

パンくずリストがきちんと認識されているかどうかは、Googleウェブマスターツールの構造化データテストツールにURLを入力することで確認できます。

Google Structured Data Testing Tool

 

URLを入力して「プレビュー」をクリックしてください。このようにパンくずが表示されていれば、microdataコードがきちんと認識されています。

Googleウェブマスターツール 構造化データテストツール パンくず確認

「抽出された構造化データ」にも、ちゃんとパンくずが表示されていますね。

Googleウェブマスターツール 構造化データテストツール パンくず認識

WordPress パンくずリスト設定プラグイン

WordPressには、パンくずリストを表示するためのプラグインがたくさんあります。「wordpress プラグイン パンくず」で検索してみると、Breadcrumb NavXTというプラグインの情報がたくさん出てきました。パンくずリスト表示ならこれが定番のようです。

プラグインを使ってパンくずリストを表示させたい方は、この記事がオススメです。 https://wordpress.org/plugins/breadcrumb-navxt/

EccubeレスポンシブWEBデザインテンプレート ピンク系0071

ECCUBE2.12の秀逸なレスポンシブWebデザイン

最近よく耳にするレスポンシブデザインテンプレートのプラグインです! レスポンシブにしたいんだけど予算が・・・という方や、デザインは自分でしたいけど基本的なレイアウトはお願いしたいという方にお勧めです。 実際に見て、ブラウザの幅を縮めたり広げたりしてみてください。

レディースファッション、レギンスの服装のネットショップです。

買い物しやすいデザイン、商品の魅力が伝わるデザインで構築されています。

お客様が買い物しやすい機能、在庫管理等のバックヤード機能もカスタマイズにより追加されています。

【主なカスタマイズ内容】

・商品レコメンド機能

・StockGearとの在庫連動機能

・基幹システムとのデータ連携

・代金引換指定不可商品判別機能

・商品毎の問い合わせのボタンの設置

・注文ステータス変更用 CSV 取り込み機能

・商品詳細ページでの規格別在庫数表示機能 対応EC-CUBEバージョン :2.12.2~2.12.6レスポンシブWEBデザインテンプレート  ピンク系0071

Welcartのテンプレートをカスタマイズする方法

Welcartのテンプレートをカスタマイズする方法

こ こからはWelcartのカスタマイズについてまとめていきます。Welcartのテンプレートをカスタマイズする方法。まずはWelcartの基本的な 知識をまとめていきます。Wordpressのインストール方法やサーバー選び、Welcartのカスタマイズ方法について紹介します。

Welcartカスタマイズのリソース

Welcartの公式ドキュメント

テンプレートをカスタマイズするためのリソースとしてドキュメントは欠かせないものですが、公式サイトには非常にわかりやすいリファレンスがまとめられています。

公式リファレンス Welcart公式リファレンス

基本的にはこちらを参照しながらテーマのカスタマイズを行っていきます。

テンプレートカスタマイズでわからないこと

公式リファレンスを見ても、どうしてもわからないことがでてくる場合がありますが、フォーラムを利用することで問題が解決するかもしれません。

開発は現在も続いており、質問への回答もされているようなので利用しましょう。

フォーラム Welcartのフォーラム

Welcartの管理画面の使い方

テーマのカスタマイズではなく、管理画面の使い方(商品登録や初期設定など)を知りたい場合もオンラインドキュメントが使えますが、便利な書籍も出版されています。

Welcartのカスタマイズ方法

テンプレート(テーマ)をカスタマイズするには?

Welcartにはデフォルトテーマが用意されており、こちらをそのまま使っても良いのですが、やっぱりオリジナルデザインにカスタマイズしたいです。

Welcartのテーマのカスタマイズ方法は基本的にWordpressと同じ。Wordpressに用意されたタグも使用できます。

しかし、ショップのカート機能や画面遷移の仕組みなど、ゼロからショップを構築するのは結構大変。そこで、最初はデフォルトテンプレートの構造はそのままにしておき、CSSのスタイルを修正していくことをおすすめします。

この場合修正する箇所はstyle.cssのみでOK。ただし、このファイルの中身を書き換えてしまうと元に戻せなくなるので、バックアップをとっておくか、custom.cssなどを作って上書きするようにしましょう。

具体的なカスタマイズについては次回以降にまとめていきたいと思います。

Welcartテンプレートカスタマイズまとめ

このサイトではWelcartのテンプレート(テーマ)のカスタマイズ方法をまとめています。この記事と合わせて是非チェックしてみて下さい。

 

デザインのカスタマイズ

 

Welcart デフォルトテーマについて

Welcart デフォルトテーマテンプレートファイル一覧

  • archive.php 表示するデータが商品以外だった場合に、このテンプレートを使用します。
  • footer.php フッターテンプレート
  • header.php ヘッダーテンプレート
  • home.php ホームページテンプレート。サイトのトップページになります。
  • index.php 基本テンプレート。該当するテンプレートが無い場合に使用されます。
  • inquiry.php ご相談・お問い合わせテンプレート。問い合わせフォームを開きます。
  • page.php ページテンプレート。特定のページが要求されたときに使用します。
  • sidebar.php サイドバーテンプレート
  • single.php 単体記事を表示するためのテンプレート。

ページデザイン変更の注意点

ページのデザインは自由に変更していただいてかまいません。 上記テンプレートの変更はWelcart デフォルトテーマの「style.css」にて変更することができます。 また、ショッピングカート・会員情報ページ・商品詳細ページのスタイルを修正することもできます。 プラグインフォルダ内の「usc-e-shop>css>usces_cart.css」を、テーマフォルダにコピーしてから編集してください。 その際「usces_cart.css」というファイル名を変えないでください。

プラグイン内にある「usces_cart.css」は直接編集しないようにしてください。 バージョンアップされるごとに上書きされます。

WordPressのSEOを強化する!プロが教える7つの設定

WordPressSEOを強化する!プロが教える7つの設定

WordPressのSEOをもっと強化しよう!

今、ホットなワードである「コンテンツマーケティング」ですが、本質を見失ったコンテンツプランニングは、予算と時間の無駄遣いとなり、成果を挙げることができません。 その本質とは「瞬間的にバズるコンテンツをつくる」というより、ユーザーが必要とするコンテンツを、そのユーザーに対して継続的に届けることです。 そのためには「検索エンジンからの集客(SEO)」を考えることが大切です。 今回は、コンテンツマーケティングに関する話を一歩先へ進め、コンテンツ制作に不可欠ともいえるツール(CMS)の中から、「WordPress」にフォーカスを当て、「WordPressを使ったSEO効果の高いサイト構築」のノウハウについて解説します。   今、多くの方が、WordPressを用いてWebサイトやブログを構築しています。 WordPressはその導入の手軽さ、拡張性の高さから、年々ユーザーを増やしており、現在、人気急上昇中のCMSです。 Googleにて「WordPress」というキーワードで検索するユーザー数の推移(Googleトレンドより) WordPressは「ブログ」をつくるツールというイメージが強いかもしれませんが、例えば、「沈黙のWebマーケティング」「薬剤師マキの調剤なる日々」といった「読み物系サイト」もつくることができ、幅広いサイトの作成が可能です。 コーポレートサイトをWordPressだけで作成している会社も多いでしょう。 そんなWordPressですが、Googleのウェブスパムチームの責任者である「マット・カッツ氏」も愛用していることから、「SEOに強い」というイメージをお持ちの方も多いようです。 確かにWordPressは、「All in One SEO Pack」をはじめとした、SEO効果を高めるためのプラグインが充実しており、一見、SEOに強いように見えます。 ですが、実際のところ、WordPressSEO効果を最大限高めるためには、「正しいSEOの知識」に沿ったカスタマイズが必要です。 WordPressは人気のCMSだけあって、カスタマイズについて解説している記事は多いのですが、SEOそのものの知識について触れている記事 は少なく、例えば、記事によっては、一昔前のSEOを前提に解説している記事もあります。(例えば「meta keywords」といったメタタグは、現在のGoogleでは評価されません) そこで今回は、WordPressSEO効果を高めたい方のために、ウェブライダーがSEO業務の最前線で使っているWordPressの設定をお教えしたいと思います。 初心者の方にもすぐに導入していただけるよう、シンプルかつ効果の高い施策を紹介していますので、リラックスしてお読みください。 ちなみに、今回の記事をお読みいただければ、「なぜ、その設定をしなければならないのか?」がSEOの観点から分かるようになります。 その知識は、WordPress以外のCMSのカスタマイズにも使えるノウハウですので、あなたの武器となります。 ぜひ、最後までチェックしてくださいね。

WordPressSEOを強化するための7つのポイント

早速ですが、WordPressを使ってSEOに強いサイトを構築するには、下記の7つのポイントに注意してください。

WordPressSEOを強化するために重要な7つのポイント

  1. 「noindex,follow」を上手に使い、低品質評価のリスクを回避する
  2. パーマリンク設定以上に、「構造化マークアップ」を意識する
  3. 記事の最後には、同じブログ内の「関連記事」へのリンクを入れる
  4. 引用部分に「引用タグ」を使い、オリジナルコンテンツと引用との線引きをする
  5. 「キャッシュ系プラグイン」を使い、サーバー負荷を下げる
  6. Google XML Sitemaps」を使い、Googleサイトマップ送信をする
  7. 脆弱性をカバーする運用」をおこなう
では、それぞれの項目について解説していきます。

ポイント1 「noindex,follow」を上手に使い、低品質評価のリスクを回避する

あなたは「noindex,follow」という設定を知っているでしょうか? この「noindex,follow」とは、metaタグに記述する設定で、検索エンジンに対し、「このページはインデックスしなくて良いけど、リンクだけは辿っておいてね」というメッセージを伝える役割があります。
<meta name="robots" content="noindex,follow" />
例えば、あなたのサイトが低品質なコンテンツを抱えていたり、オリジナリティに乏しいコンテンツを抱えている場合、この設定を用いれば、Googleからの評価を落とさずに済むようになります。 (・・・そもそも、低品質なコンテンツを生み出さないことが一番大事ではあるのですが・・・) この設定が注目された始めた背景には、Googleが2012年7月に実装した「パンダアップデート」というアルゴリズム更新の存在があります。 このパンダアップデートは、低品質なコンテンツや、オリジナリティに乏しいコンテンツの評価を下げるというアルゴリズムでした。 Googleウェブマスター向け公式ブログでアナウンスされた内容を引用します。
Pandaアップデートは、低品質なサイトの掲載順位を下げ、同時に、良質なサイトの掲載順位をより適切に評価します。 ―途中省略― Googleは、検索結果からユーザーが良質なサイトを見つけやすくすることに特に取り組んでいます。 Pandaアップデートによって、多くの良質なサイトの掲載順位が改善されました。 引用元:良質なサイトを作るためのアドバイス(Googleウェブマスター向け公式ブログ)
なぜ、Googleはパンダアップデートを導入したのでしょうか? その理由を知っていただくために、ドラマ仕立てで解説してみることにします。
むかしむかし、あるところに、Googleで働く「Googlebot」という名のロボットがいました。 そのロボットは、色々なサイトを見つけ、インデックスするのが仕事でした。
●Googlebot 「ふうっ、今日もたくさんのサイトをインデックスしたよ。 Twitterとかのソーシャルメディアが流行ってからというもの、インデックスするサイトが一気に増えて、とても忙しくなったよ」 ●Googlebot 「でも、よく考えたら、中身の薄い低品質なコンテンツをインデックスするのって、無駄な気がするなあ。 いくら僕がロボットだからといっても、人遣い・・・じゃなかった、ロボット遣いが荒い気がする・・・」 ●Googlebot 「あんな低品質なコンテンツを上位表示させてしまったら、検索エンジンとしての評価も下がるだろうし・・・」 ●Googlebot 「そもそも、低品質なコンテンツってユーザーに見せる価値がないよね・・・」 ●Googlebot 「そして、そんなコンテンツをインデックスすることで、僕の貴重な時間が奪われている!」 ●Googlebot 「ムキーッ!低品質なコンテンツなんて嫌いだー!! 僕を騙そうとするWebスパマーも嫌いだー!! そうだ!インデックスしたあとで、そのサイトの評価を落としてもらおう!」
かくして、中身の薄い低品質なコンテンツたちはGoogleから嫌われるようになったのでした。 めでたし、めでたし。
いかがでしょうか。 先程のドラマはフィクションですが、もし、万が一、あなたのサイトに低品質なコンテンツがあるのであれば、そのコンテンツをGooglebotにインデックスさせないことも大事なのです。 そこで使うのが「noindex」という設定。 「noindex」という設定を用いて、あえて、インデックスさせないことで、サイト全体の評価が下がることを防げるのです。 そして、その際に大事なのは、「noindex」とセットで「follow」という設定を用いることです。 「noindex,nofollow」ではなく、「noindex,follow」としておくことで、「このページはインデックスしなくて良いけど、リンクだけは辿っておいてね」というメッセージを伝えることができます。 そのページからリンクされた先のページが高品質であれば、Googleはその先のページをしっかり評価してくれる、ということを覚えておいてください。
※もし、「noindex,nofollow」としてしまうと、ページがインデックスされないだけでなく、リンクも辿ってもらえなくなりますので、注意してください。

「noindex,follow」を入れておいた方が良いページ

「noindex,follow」は、他のコンテンツと重複している箇所が多いような、「オリジナリティ要素の低いページ(重複コンテンツ)」に設定することでも効果を発揮します。 例えば、WordPressの場合、「月別アーカイブ」や「検索結果」のページは他のページと内容が被りやすいので、あらかじめ「noindex,follow」を設定しておくと良いでしょう。 その他、カテゴリとタグを併用しているようなサイトの場合も、「タグ」のページが重複コンテンツになりやすいため、設定しておくと良いです。 まとめると、WordPressの場合、以下のページに「noindex,follow」を設定すると良いでしょう。
■「noindex,follow」を使った方が良いページ
  1. アーカイブページ(月別アーカイブ
  2. 検索結果ページ
  3. タグページ
  4. その他、コンテンツの薄い記事
↑薬剤師ネット公式ブログの月別アーカイブのmetaタグには「noindex,follow」が入っている

「All in One SEO Pack」というプラグインを使い、「noindex,follow」を設定

では続いて、WordPressで「noindex,follow」の設定をおこなうための方法をお教えします。 SEOに配慮されたテンプレートによっては、「noindex,follow」の設定項目が設けられている場合がありますが、ほとんどのテンプレートではそのような仕様になっていませんので、「All in One SEO Pack」というプラグインを使います。 導入方法と設定方法を簡単に解説してみます。

1、「All in One SEO Pack」をインストー

まずは「All in One SEO Pack」のインストールです。 WordPressの管理画面のサイドバーの「プラグイン」から、「新規追加」と辿り、そのページで「All in One SEO Pack」と検索すれば見つかります。 「今すぐインストール」をクリックして、管理画面上でインストール。

2、サイドバーに表示されたメニューから「General Settings」をクリック

インストールが完了すると、サイドバーに「All in One SEO Pack」の設定メニューが表示されますので、「General Settings」をクリックし、設定画面へ移動します。

3、主要なページにまとめて「noindex,follow」を設定

先ほどお教えした、「noindex,follow」を入れた方が良いページに対して、noindexの設定をおこないます。 設定はとても簡単。以下のようにチェックを入れるだけです。 「カテゴリ」ページに関しては、「noindex,follow」を入れなくて良いでしょう。 もし、カテゴリページをしっかりインデックスさせたいのであれば、カテゴリページに、カテゴリの「抜粋」など、カテゴリページ独自のコンテンツを表示させておいた方が良いです。そのあたりはテンプレートのカスタマイズで対応します。

4、必要であれば、個別記事に対しても「noindex,follow」を設定

個別の記事に対して「noindex,follow」を設定したい場合は、記事の投稿画面から設定できます。 投稿もしくは編集画面に移動し、上部にある「表示オプション」を開き、「All in One SEO Pack」にチェックを入れた後、画面下部にある設定エリアから、「Robots Meta NOINDEX」にチェックを入れるようにしてください。 「表示オプション」の「All in One SEO Pack」にチェックを入れた後、画面下部にある設定エリアから、「Robots Meta NOINDEX」にチェックを入れる。
これで、noindex周りの設定は完了です。 通常、個別の記事に対して「noindex,follow」を設定するケースはあまりないと思いますが、たとえば、記事としては中身が薄い「休暇のお知らせ」などの、ちょっとしたお知らせなどには、入れておいても良いかもしれません。 また、あなたが複数のネットショップを運営しているとして、まったく同じ「お客様の声ページ」を複数のサイトで掲載する時も、「noindex,follow」を使うことで、重複コンテンツ判定から逃れることができます。 とはいえ、Googleは賢いので、理由のはっきりした重複コンテンツであれば、サイトの評価が下がるケースは少ないのですが、万が一のことを考え、「noindex,follow」を使える体制を準備しておくのは良いでしょう。 例えば、この「noindex,follow」を使っている事例としては、ウェブライダーがプロデュースしている「薬剤師求人プレミア」というサイトが参考になると思います。 こちらの求人サイトには、3万件近い求人情報が登録されていますが、求人情報というものは、どうしても他社と似通ってしまうもの。 個別の求人情報でGoogle検索すると、まったく同じ内容のサイトがたくさんヒットしますので、検索エンジンを使うユーザーにとっては有益とはいえない可能性があります。 そのため、このページでは、あえて「noindex,follow」を積極的に使い、他のサイトと被りそうな求人情報に関しては基本的にnoindex。薬剤師求人プレミアのオリジナルコンテンツのみを検索結果に表示させるようにしています。 それにより、ユーザーにも検索エンジンにも配慮したサイトになっています。 こういった考え方は、従来までの「たくさんページをインデックスさせておけば、数打ちゃ当たるだろう」という考えとは真逆をいくものです。 確かに、ロングテールを意識したサイトにおいては、たくさんのページをインデックスしてもらうことは重要ですが、これからのSEOでは、「評価対象のコンテンツを絞る」という考え方が重要になるのです。 どちらにしても、大事なのは、「noindex,follow」を使わなくても済むような、濃いコンテンツを発信することです。 そのサイトにしかない、オリジナリティ要素の高い情報やコンテンツを発信し続ければ、Googleからの評価も高くなるでしょう。

捕捉:TOPページ専用のタイトルを設定しておく

先程の「All in One SEO Pack」の設定で捕捉です。 「All in One SEO Pack」では、ホーム画面(TOPページ)のタイトル情報を個別に設定することができます。 これを設定しておくことで、TOPページと内部ページとの差別化が可能ですので、できれば設定しておきましょう。 ちなみに、「キーワード」という部分は、実際のソースの「meta keywords」の中に当たる部分ですが、Googleは「meta keywords」の情報を評価しませんので、空けておいても構いません。 また、WordPressでは、「設定」→「一般設定」という画面でもタイトルの設定が可能ですが、ここで設定するタイトルは、TOPページ以外のページに共通で設定されるタイトルだと考えて下さい。 例えば、「沈黙のWebマーケティング」の場合、下記のようなタイトル構造になっています。 こうすることで、TOPページと内部ページとの差別化が可能な他、各ページのタイトルの文字数を調整することもできます。 (現在は、Googleの仕様変更により、全角28文字以内のタイトルを付けることが良いとされています。※環境によっては30文字まで表示されることがあります)
●TOPページ専用のタイトル 沈黙のWebマーケティング~Webマーケッターボーンの逆襲~ ●各記事のタイトル

ポイント2 パーマリンクの設定以上に、「構造化マークアップ」を意識する

続いて、「パーマリンク」の設定に関するノウハウです。 パーマリンクとは、その記事を指す「URL」のこと。 WordPressを運用する際は、このパーマリンクの設定がとても大事。 一度設定したら、やみくもに変更しないようにしましょう。 なぜなら、一度設定したパーマリンクを変えてしまうと、あなたのブログに設置したソーシャルメディアウィジェットの数値がリセットされてしまうからです。 せっかくバズった記事も、数値がリセットされてしまうと切ないですよね。 そうならないように、注意しましょう。 最近のバージョンのWordPressでは、URLが新しくなっても、旧URLから新URLへ自動的に「301リダイレクト」を設定してくれる仕様が入っています。 そのため、URLが変わっても、旧URLについている外部からのリンクの評価は新URLへ移ります。 ただ、前述の通り、ウィジェットの数値は新URLのものとなってリセットされるのです。 人間には「ソーシャルメディアでたくさんシェアされている記事」ほどシェアしたくなるという「祭りの心理」がありますので、ソーシャルメディアウィジェットに表示される数値は大切です。 というわけで、パーマリンクは慎重に設定するに越したことはないのですが、ここでは、どんなパーマリンクにしておけば良いのかをお教えします。 WordPress上で設定できるパーマリンクをおさらいしてみましょう。
パーマリンク一覧 ●デフォルトのパーマリンク ?p=123 (例:http://test.com/?p=123) ●日付と投稿名 2014/04/08/sample-post/ (例:http://test.com/2014/04/08/任意の文字列) ●月と投稿名 2014/04/sample-post/ (例:http://test.com/2014/04/任意の文字列) ●数字ベース archives/123 (例:http://test.com/archives/123) ●投稿名 sample-post/ (例:http://test.com/任意の文字列) ●カスタム構造(下記は一例です) %category%/%postname%/ (例:http://test.com/カテゴリ名/任意の文字列)
これらのパーマリンクのうち、以前までは「カスタム構造」を使った
/%category%/%postname%/
というパーマリンクが使われることが多くありました。 川の流れをイメージした時に、上流にはTOPページをはじめとした「一覧ページ」、そして下流に「記事ページ」を設けることで、上流に集まったリンクジュースがサイト全体にくまなく流れる、という考え方があり、このパーマリンクを使うサイトは多くありました。 確かに、その考え方は大切なのですが、リンク構造においては、必ずしもピラミッド型である必要はありません。 というのも、リンクの起点は必ずしもTOPページから始まる、というわけではないからです。 例えば、ソーシャルメディアが流行った昨今、TOPページや一覧ページよりも、内部のページがシェアされることが増えてきました。 Googleクローラーが上位階層からではなく、下位階層からクロールするケースが増えてきたのです。 その状況と合わせる形で、Googleは「パンくずリスト」などの情報を重視することで、サイトの構造を把握するようになっています。 その証拠に、今の検索結果では、パンくずリストの情報が表示されるようになっていますよね。 そのため、パンくずリストをはじめとしたリンク構造さえしっかり構築していれば、パーマリンクは何でも良いということになるのですが、勿論、「/%category%/%postname%/」というパーマリンク設定がダメなわけではありません。 このパーマリンクにすることで、ユーザーはそのURLを一目見て、その記事がどんなカテゴリに属しているかが分かるようになるからです。 現に、ウェブライダーのサイトでも、このパーマリンク設定をよく使っています。 ただ、「/%category%/%postname%/」というパーマリンクの場合、「ブログ」という形態においては若干の不都合があります。 例えば、ブログの記事の場合、複数のカテゴリを割り当てる場合があります。 「/%category%/%postname%/」を使ってしまうと、どれか一つのカテゴリにURLを縛る必要が出てくるため、最近では、URLを柔軟に展開できるように、あえてシンプルなパーマリンクを採用するブログが増えているようです。 そういったことも踏まえて、パーマリンクを選ぶようにしましょう。
■使われることの多いパーマリンク ●投稿名(もっともシンプルなパーマリンクです) sample-post/ (例:http://test.com/任意の文字列) ●カスタム構造(昔から人気のパーマリンクですが、上記の理由で最近は減ってきました) %category%/%postname%/ (例:http://test.com/カテゴリ名/任意の文字列)

パンくずリスト」を入れておくことが重要な理由

先程、「リンク構造さえしっかりしていれば、サイトの構造がGoogleに伝わる」と書きました。 そのリンク構造をより適切に伝えるためにオススメしたいのが、「構造化マークアップ」です。 一番身近なところでいえば、先程何度も出てきた「パンくずリスト」を思い浮かべてもらえれば良いでしょう。 Googleは「パンくずリスト」の情報を用いることで、そのページがサイト内でどういう立ち位置なのか?といった、各ページ同士の関係を理解しようとします。 ただ、パンくずリストといっても、適当なマークアップをしていては、それがパンくずリストだと認識されない場合があります。 そのため、Googleでは、パンくずリストをはじめとした情報を正しく伝えるために、「構造化マークアップ」と呼ばれるマークアップ技法を推奨しています。 Googleの「ウェブマスターツール ヘルプ」のページでも、以下のようにアナウンスされています。
パンくず情報をウェブページの本文でマークアップすると、Googleではパンくず情報を識別し、その情報を基にページの情報を認識して、検索結果に表示できます。 引用元:リッチスニペット - パンくずリスト(ウェブマスターツール ヘルプ)
パンくずリストの構造化マークアップの詳しい方法は、「ウェブマスターツール ヘルプ」を見ていただければと思います。 もし実例を知りたい方は、「沈黙のWebマーケティング」でも構造化マークアップを使っていますので、参考にしてみてください。 このマークアップ技法が難しいと感じる方は、最悪、難しいマークアップを使わなくても良いので、HTMLソースの中に「パンくずリスト」だと分かるような記述をしてください。 Googleがその記述をパンくずリストと認識したのであれば、それだけでも効果があります。 (例えば、パンくずリストCSS名に「breadcrumbs」(※日本語でパンくずの意味)という用語を使うなど) また、外部のテンプレートを使用する際は、できるだけ、パンくずリストの入っているテンプレートを使うようにしてください。
●沈黙のWebマーケティング内で使われているパンくずリストの記述例 (「夜明けのSEOペナルティ解除」より)
<div id="breadcrumbs">  <ol>  <li class="first" itemscope="itemscope" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="http://www.cpi.ad.jp/bourne" itemprop="url"><span itemprop="title">沈黙のWebマーケティング TOP</span></a></li>  <li itemscope="itemscope" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="http://www.cpi.ad.jp/bourne/category/story/" title="本編ストーリー の全投稿を表示" rel="category tag" itemprop="url"><span itemprop="title">本編ストーリー</span></a></li>  <li itemscope="itemscope" itemtype="http://data-vocabulary.org/Breadcrumb"><span itemprop="title">夜明けのSEOペナルティ解除</span></li>  </ol>  </div>

日本語URL?半角英数字URL?

ちなみに、投稿画面でパーマリンクを変更する際、「日本語URL」のままだと、Facebookなどでシェアされた際にエンコードされて長い文字列になってしまうため、それを避けるために「半角英数字」のURLを好む方がいらっしゃいます。 ただ、私は個人的には、「日本語URL」でも「半角英数字」でもどちらでも良いと思っています。 なぜなら、最近のTwitterでは長いURLを自動短縮してくれる仕様が入っていたり、Googleの検索結果画面では「URL内の日本語キーワード」がハイライトされ、日本語URLならではのメリットを享受できるからです。 ↑検索結果画面にて、日本語URL内のキーワードがハイライト表示されている例 ただ、日本語URLの場合、短縮化しないと、どうしても長く不細工なURLになってしまうため、「リンクの張られやすさ」という点では、やはり、半角英数字URLに軍配が上がると思います。 そのあたりも考えながら、日本語URLか、半角英数字URLかを選ぶようにしてください。

ポイント3 記事の最後には、同じブログ内の「関連記事」へのリンクを入れる

続いて、記事の中に設置する「関連記事リンク」のお話です。 SEOには「内部対策」と「外部対策」の二つがあります。 内部対策は、Googleからクロール&インデックスされやすいようにHTMLソースをチューニングしたり、内部リンクを調整することですが、この内部リンクの調整次第で、サイト内の各ページの評価を高めることができます。 その際に重要なのは、できるかぎり「関連性の高いコンテンツ同士をリンクさせること」と、「コンテンツ内部からリンクを張り合うこと」です。 内部リンク構築で重要なのは、グローバルナビやサイドバーなどの「共通ナビゲ―ション」からのリンクと、記事本体、つまり「コンテンツ内部」からのリンクを分けて考えることです。 例えば、「サイドバーからたくさんリンクを張っているのに、あまり評価されていないように感じる・・・」というのは、そのリンクが、サイドバーという「共通ナビゲーション」から張られたリンクであるからです。 これはあくまでも私の考えですが、共通ナビゲーションからのリンクは、Googleのクロール導線としては機能しますが、そのリンクそのものに関して特別な評価は与えられないと思われます。 (※勿論、決して、サイドバーやグローバルナビからリンクを張らない方が良いということではありません。それらのリンクはユーザー導線として必要です) なぜなら、「他のページへリンクする」といった行動を、コンテンツプランニングの一つと考えるのであれば、その行動の価値を最大化するためには、やはり、その「リンクという行動」が最も輝くステージで行わねばなりません。 それこそが、「コンテンツ内部から張るリンクの価値が高い」といわれる理由です。 極端な言い方をすれば、汗をかいて張られたリンクは、それだけしっかり評価されるのです。 汗をかかずに楽して張られたリンクは、それだけしか評価されないのです。 Googleアルゴリズムブラックボックスではありますが、個人的には「その一つのリンクをどれだけ丁寧に張っているか?」ということは重視されている気がします。 それは、リンク自体の「アンカーテキスト」やリンクが張られた「場所」だけでは評価しきれないため、そのリンクの周りに、リンクに対する「解説」がしっかりされているか、なども評価されていることでしょう。
・・・と、思わず、内部リンクのことについて熱く語ってしまいましたが、この考え方を実際のサイト運営に照らし合わせると、例えば、関連ページへのリンクの張り方も変わってくると思います。 例えば、以下の例を見てください。 この例の場合、「Webマーケティング」に関する記事から、「SEO」「文章作成ノウハウ」「ダイエット」に関する記事へリンクを張ろうとしていますが、普通に考えると、「Webマーケティング」に関する記事から「ダイエット」に関する記事へリンクを張るのは変ですよね。 ですので、「諸事情により、そのページへトラフィックを送らなければならない・・・」という状況以外では、関連しないページへはリンクを張らない方が良いでしょう。 続いて、もう一つ例をお見せします。 この例では、「Webマーケティングに使える心理学」に関する記事から、「コンバージョンアップにつながる文章術」「開封率の高いメルマガ作成ノウハウ」「検索エンジンの仕組みを学ぶ」といった3つの記事へのリンクを張ろうとしています。 先程のダイエットの事例に比べると、どの記事も関連性は高そうに見えます。 ですが、シビアに考えると、「Webマーケティングに使える心理学」から、最後の「検索エンジンの仕組みを学ぶ」という記事へはリンクを張らない方が良いかもしれません。 確かに、「検索エンジンの仕組みを学ぶ」ことは、SEOの強化につながり、広義的にはWebマーケティングの強化につながるのですが、「Webマーケティングに使える心理学」というタイトルとの関連性を考えると、少々遠回りな気がします。 ですので、こういう「関連性がありそうだけど、うーん・・・」という記事に対しても、あえてリンクを張らなくても良いのです。 但し、そのリンク同士の関連性は、そのリンクが設置されたコンテンツ(文章)の内容にも影響されます。 文章の流れ上、リンクを張る必然性が出てきたのであれば、自信を持って張るようにしましょう。 だからこそ、文章をしっかり書くことが大事なのです。

関連リンクを張るなら、記事の最後が良いと思う理由

関連リンクを張る場合は、基本的には記事(コンテンツ)内のどこでも構いません。 そのリンクを張る明確な理由があり、前述のように、リンクが評価される要素を担保できるのであれば、基本的には記事の前半でも後半でも構いません。 ただ、あえて「一番良い場所は?」と聞かれると、「記事の最後」が良さそうです。 なぜなら、「記事の最後」という場所は、そのページに書かれている内容を受けて総括的に張られるリンクであり、所謂「結論」として張られることの多いリンクだからです。 当然ながらページ同士の関連性も高まります。 例えば、ウェブライダーが運営している「薬剤師ネット公式ブログ」というブログでは、毎回、記事の最後に、関連するリンクをテキストの解説付きで、一つ一つ手作業で挿入しています。 下記の画像のケースでは、「お米で痩せるダイエット」という記事に対して、「薬でダイエットをすることは可能ですか?」という「薬剤師BBS」という掲示板のスレッドへのリンクを入れています。 (※「薬剤師ネット公式ブログ」と「薬剤師BBS」は同じドメイン内に存在しているサイトのため、このケースでは「同一ドメイン内のサイト間」をまたいで内部リンクを張っていることになります) ただ、これはあくまでも私の個人的な感覚であり、文脈上、毎度毎度、このような内部リンクを構築することは難しいかもしれません。 とはいえ、こういった考えを知っておくことで、リンクを張る際のヒントになるはずですので、しっかり覚えておいてください。

WordPress上で関連リンクを設定するなら、「プラグインによる自動埋め込み」より、「手動埋め込み」がオススメ

WordPressでサイトやブログを運営されている方は、「関連記事へのリンクを挿入するプラグイン」を使われることが多いと思います。 先程もお伝えした通り、関連記事へのリンクは非常に重要ですので、そういったプラグインを使うことは、良いSEO効果を生み出すほか、サイト全体の回遊率も増え、多くの方にコンテンツを見てもらえるようになります。 ですので、非常にメリットが高いプラグインです。 最近では「WordPress Related Posts」などのプラグインが人気のようです。 (※今回の記事では関連記事表示のプラグインについて詳しく解説しないため、気になる方は、こちらのリンクから検索してください) ただ、もし、あなたが「SEO効果をもっと高めたい!」ということであれば、「プラグイン」を使わずに「手動」で関連記事リンクを設置することをオススメします。 手動であれば、関連記事へのリンクを各記事に合わせてカスタマイズしやすいためです。 また、WordPressには「カスタムフィールド」という便利な仕組みがありますので、これを使わない手はありません。 以下は、カスタムフィールドを使って関連記事リンクを手動で挿入する方法の一例です。 カスタムフィールドを使った方法は無限にありますので、あくまでも一例としてチェックしてみてくださいね。

「カスタムフィールド」を使って関連記事リンクを手動で埋め込む一例

カスタムフィールドを呼び出すための、もっともシンプルな記述は以下の通りです。
<?php echo post_custom('フィールド名'); ?>
この「フィールド名」には、投稿画面側で設定したフィールド名が入ります。 以下より、このシンプルな記述をカスタマイズした事例をご紹介します。 1、まず、関連記事リンクを表示させたいテーマに、カスタムフィールドを呼び出す記述を追記します。 「単一記事の投稿(single.php)」を編集し、以下のような記述を書きます。(以下は一例です)
<!--カスタムフィールドによる関連リンクエリア-->  <?php if(post_custom('link')): ?>  <div style="margin-top:50px">  <p>※この記事を読まれた方は、ぜひ下記の記事も合わせて読んでみてください。</p>  <ul>  <?php echo post_custom('link'); ?>  </ul>  </div>  <?php endif; ?>  <!--/カスタムフィールドによる関連リンクエリア-->
「if」という関数を使うことで、「link」というカスタムフィールドの値が存在していない場合、関連記事エリアが表示されないようにしています。 続いて、記事の投稿画面に移ります。 初期設定では、カスタムフィールドを設定するエリアが表示されていないため、上部メニューから「カスタムフィールド」という項目にチェックを入れておきましょう。 そうすれば、投稿画面下部にカスタムフィールドの設定が現れます。 投稿画面の下部に表示されたカスタムフィールドの設定エリアで、カスタムフィールドを新規追加。 <li></li>でテキストリンクを囲むことで、リストタグで関連記事が表示されるようにしました。 関連リンクの数に合わせて、<li></li>で囲んだテキストリンクの数を手動で調整できます。 実際の見た目はこちら。 これはあくまでも一例ですが、カスタムフィールドを使えば、サイトに合わせた様々な運用が可能です。 カスタムフィールドについてもっと知りたいという方は、ぜひ検索してみてください。 記事が大量にあるサイトの場合、手作業で関連リンクを選ぶなんて不可能だと思われるかもしれません。 ただ、最初にお話しした、Googleの「パンダアップデート」を思い出していただきたいのですが、そもそも、今後のGoogle SEOを強化するためには、記事を良質なものに絞ることが重要です。 例えば、薄い記事が10,000記事あるサイトより、濃い記事が100記事あるサイトの方が評価が高いため、コンセプトレベルで、サイトの再設計をおこなうことも視野に入れておいてください。

ポイント4 引用部分に「引用タグ」を使い、オリジナルコンテンツと引用との線引きをする

コンテンツをつくっていると、外部からコンテンツを引用するケースも多くあると思います。 その際に大切なのが、「どこからどこまでが引用なのか?」ということを明示することです。 引用エリアを明示しておくことで、Googleに対してオリジナルコンテンツがどこなのかを伝えることができます。 そこで使うのが、<blockquote>タグ(引用タグ)です。 例えば、今回のコラムでも、外部コンテンツからの引用を幾つか用いていますが、その箇所にはすべて<blockquote>タグが使われています。 ●先程のパンくずリストに関する解説部分
パンくず情報をウェブページの本文でマークアップすると、Googleではパンくず情報を識別し、その情報を基にページの情報を認識して、検索結果に表示できます。 引用元:リッチスニペット - パンくずリスト(ウェブマスターツール ヘルプ)
この箇所のソースは以下のようになっています。 (※細かなデザインはCSSで調整されています)
<blockquote>  <p class="b">  パンくず情報をウェブページの本文でマークアップすると、Googleではパンくず情報を識別し、その情報を基にページの情報を認識して、検索結果に表示できます。</p>  <p class="al-r m40-t">引用元:<a href="https://support.google.com/webmasters/answer/185417?hl=ja" target="_blank">リッチスニペット - パンくずリスト(ウェブマスターツール ヘルプ)</a></p>  </blockquote>
<blockquote>タグを使う際は、必ず、そのコンテンツの引用元へのリンクも明記するようにしてください。

ポイント5 「キャッシュ系プラグイン」を使い、サーバー負荷を下げ、拡散に備える

WordPressでサイトを運用しているけれど、ページの表示が遅いといったことはないでしょうか? WordPressはデータベースからコンテンツを動的生成するCMSです。 そのため、ユーザーがアクセスする度に、サーバーに負荷がかかります。 ソーシャルメディアを使うユーザーが増えている昨今、ちょっとしたきっかけでソーシャルメディアからたくさんのユーザーがやって来ることがあります。 その際、そのアクセスに耐えきれるかどうかで、SEOの成否は決まるといっても過言ではありません。 専用サーバーのメリット なぜなら、大量のアクセスが発生するということは、そのページを見たユーザーがソーシャルメディアでクチコミをする可能性が増えるからです。 そして、そのクチコミは、Googleが評価する質の高い「外部リンク」となります。 2012年の秋に日本に導入された「ペンギンアップデート」は、被リンクの「質」を従来より厳しく評価するというアップデートでした。 このアップデートにより、リンク販売業者などから購入した「有料リンク」によって上位表示を達成していたサイトの多くが、順位下落を余儀なくされました。 そもそも、リンクを購入するという行為自体が、Googleが定めるガイドラインに違反していたのですが、そのペンギンアップデート以降、有料リンクの購入といったブラックな施策に頼るのではなく、ソーシャルメディア経由でオーガニック(自然発)なリンクを獲得するという、ホワイトな施策が重要視されています。 そのためにも、クチコミにつながるアクセスを逃してしまう、ということだけは避けなければならないのです。
ソーシャルメディアから瞬間的なアクセスが発生すると、サーバーによっては「503 Service Unavailable」「Service Temporarily Unavailable」といった、通称「503エラー」が発生する場合があります。 この503エラーが発生するメカニズムに関しては、第一回の「503エラーを防ぐ!Web屋が知っておくべき503エラーの原因と対処」というコラ ムでも詳しく解説しましたが、簡単にいえば、「サーバースペックの低さ」と「WordPresss側の負荷対策が不十分」であることが原因です。 現在、Googleでは、「ページの読み込みスピード」も検索順位決定の一要因としていますので、ページの表示が重くなると、Googleからの評価も下がってしまいます。 そこで、WordPressでは、「キャッシュ」と呼ばれる技術を積極的に使う必要が出てきます。 「キャッシュ」については、このコラムの第一回で次のように解説しました。
データベースへ頻繁にアクセスするようなWebサイトは、「キャッシュ」と呼ばれる技術を用いて、セッションを減らすことが必要になります。 キャッシュとは、簡単にいえば、データベースの呼び出し回数を減らすために、本来は動的であるコンテンツを「静的」なコンテンツにすることです。 引用元:503エラーを防ぐ!Web屋が知っておくべき503エラーの原因と対処
WordPressでキャッシュをおこなうためにオススメしたいのが、下記の2つのプラグインです。
  1. WP Super Cache
  2. DB Cache Reloaded Fix
「WP Super Cache」はページをキャッシュするプラグイン。 そして、「DB Cache Reloaded Fix」は、ページを生成するためのデータベースへの呼び出し処理をキャッシュ化し、表示速度を高速化するプラグインです。 これら二つのプラグインは有効化しただけで動作してくれます。 (もし、何らかの事情でキャッシュを更新しなければならない時は、各プラグインの管理画面から「キャッシュを削除」すればOKです) この二つを併用しておけば、キャッシュ対策はまず問題ないでしょう。
ただ、WordPressを運用し続けていると、キャッシュだけでは対応できない「サーバースペックの壁」にぶち当たることがあります。 例えば、先程も取り上げた、「503エラー」を完全に防ぐためには、そもそも、サーバー側の同時接続数の壁を越えなければなりません。 究極的には、共用サーバーではなく、専用サーバーといった同時接続数に余裕のあるサーバーを選ぶことになるのですが、もし、キャッシュ化しても重いという場合には、サーバーの移転も検討してください。 共用サーバーでもピンからキリまであります。 このコラムの第二回では、Web集客に強いサーバーの選び方を解説していますので、ぜひチェックしておいてください。 失敗しないサーバーの選び方!正しいレンタルサーバー比較のコツ

ポイント6 「Google XML Sitemaps」を使い、Googleサイトマップ送信をする

WordPressでは、Googleのウェブマスターツールなどに送信するための「XML形式のサイトマップ(sitemap.xml)」を自動でつくる仕様が入っていません。 そのため、「Google XML Sitemaps」というプラグインを用いる必要があります。 この「Google XML Sitemaps」をインストールすれば、記事が更新される際に、自動でサイトマップがつくられるようになります。 このサイトマップ、必ずしも必要ということではないのですが、例えば、なかなかインデックスされないページが存在する場合などには、サイトマップをつくり、Googleのウェブマスターツールからサイトマップ送信しておくと良いでしょう。 「Google XML Sitemaps」の設定は難しくありません。 以下にて、「Google XML Sitemaps」の使い方を簡単に解説しますね。

ステップ1 通知する検索エンジンを選択します(普通は3つすべてにチェック)

ステップ2 もし、WordPress以外で作成したページをサイトマップに含める場合は、下記から追加

ステップ3 投稿の優先順位の計算方法を選択します(ここはチェックしなくても大丈夫でしょう)

ステップ4 サイトマップに含めるページを選択します。noindex対象にしているページは含めなくて良いでしょう

ステップ5 サイトマップに含めたくないカテゴリや記事があれば、ここで指定します

ステップ6 更新頻度を設定します。更新の多いTOPページなどは「毎日」にしておくと良いでしょう

ステップ7 クローラーに特に優先的にクロールして欲しいページがあれば、10段階(0.1~1)までの間で指定します

ポイント7 「脆弱性をカバーする運用」をおこなう

昨年、某他社サーバーがハッカーに狙われ、そのサーバーでWordPressを使っていた多くのユーザーに被害が発生する大きな事件がありました。 WordPress脆弱性を狙って侵入したハッカーが、サーバー側の設定の不備を狙った攻撃だったようなのですが、WordPress脆弱性を狙った攻撃というのは今も世界中で起きています。 脆弱性を狙った攻撃を防ぐためには、例えば、以下の3つの対策が必要です。
  1. 最新バージョンのWordPressを常に使う
  2. 管理画面の入り口に、Basic認証などをかける
  3. プラグインを使いすぎない
特に重要なのが、最新のバージョンのWordPressを常に使うことです。 WordPressは、脆弱性が見つかった際、その脆弱性へ対応した後、新しいバージョンをリリースします。 そのため、古いWordPressを使い続けていると、その対応がされていない、常に脆弱性の危機にさらされているバージョンを使うことになってしまうのです。 続いて重要なのが、管理画面の入り口である「wp-login.php」に、Basic認証などをかけてしまうことです。 この「wp- login.php」というページは、WordPressを使うユーザーであれば誰でも知っているページですので、このページから「ID&パスワード」の 総当たり攻撃(ブルートフォースアタック)を受けることがあり、万が一、IDとパスワードが見破られると、管理画面へ侵入されてしまいます。 (そういう意味でも、ID名に「admin」などの、分かりやすい言葉を用いるのは危険です) あらかじめBasic認証をかけたり、もし、記事を固定の場所(固定IP)からしか更新しないのであれば、IP制限などをしておくと良いでしょう。 そして、最後に重要なのが、プラグインを使い過ぎないことです。 なぜなら、ハッカーは、WordPress本体以外に、「プラグイン」の脆弱性を狙って攻撃してくるケースもあるからです。 プラグインは便利なので、ついたくさん使ってしまうかと思いますが、中には、脆弱性が放置されたまま更新されているプラグインもあります。 プラグインのバージョンアップに関しては、WordPressのチームも監視しきれない部分ですので、本当に必要なプラグインや、開発が頻繁におこ なわれているプラグインだけを使うようにし、WordPress側のカスタマイズで対応できる部分は、プラグインを使わない方向で検討した方が良いでしょ う。
もし、あなたがお使いのWordPressが誰かに乗っ取られ、「マルウェア」と呼ばれる悪意あるソフトウェアへ誘導される「踏み台」になってしまうと、Googleから警告が届き、サイトの評価も落ち、SEOに大きな影響が出ます。 (SEOに影響が出る以前に、ビジネスにおける信頼度に大きな影響がでますが・・・) そのため、「脆弱性をカバーする運用」を常に心に留めておきましょう。 WordPressの安全性を高めるためのノウハウが「WordPress Codex 日本語版」にまとめられていますので、また確認しておくようにしてください。

まとめ

いかがでしょうか? WordPressは便利なツールなだけに、それを使う方のスキルによって差がついてきます。 今回の記事が、あなたのWordPressサイトのSEOを加速させる一助となれれば幸いです。 そして、もし、あなたのWordPressサイトが「503エラー」というメッセージを頻繁に出し始めた際には、是非、下記の2つの記事をチェックしてください。 WordPressはあくまでも「ソフトウェア」。 ソフトではどうにもできないのが、サーバーをはじめとしたインフラ、すなわち「ハードウェア」です。 自分が使っているサーバーに関する知識を持っておくことは、SEOを成功させる上でとても大切です。

Wordpressテンプレートのカスタマイズ photoshopvip のコピー

Wordpressテンプレートのカスタマイズ photoshopvip のコピー

WordPress (ワードプレス) は、オープンソースのブログ/CMS プラットフォームです。セマンティック Web、コードやデザインの美しさ、Web 標準、ユーザビリティなどを意識して開発されており、無料でダウンロードして使うことができます。

WordPress を使って、思い通りにカスタマイズしたホームページ

最新版のWordPressでお客様指定のサイト真似して、Wordpressテンプレートのカスタマイズ!Wordpressテンプレートのカスタマイズ photoshopvip のコピー

PhotoshopVIP とは Photoshopに関する無料素材や、最新ニュース、チュートリアルをいち早くお届けする新感覚のデザインブログメディアです。Wordpressで構築、

機能とテンプレートを分析して、完全のコピー出来る上に、

SEOの方もっと完璧にして  WordPressSEOを強化するための各種設定のノウハウ WordPress テンプレートWordPress テーマ

対応EC-CUBEバージョン :WordPress 4.2.2 Wordpressテンプレートのカスタマイズ  photoshopvip のコピー

BLUE STYLEのカスタマイズ WordPressテンプレート 制作

BLUE STYLEのカスタマイズ WordPressテンプレート制作

Eccubeで構築したBLUE STYLEをWordpressのホームページに変更の要求。 BLUE STYLEは、EC-CUBE や baseCMS などのオープンソースを主に使った格安サイト構築サービスを展開しています。 WordPressテンプレートのカスタマイズ後、WordpressのショッピングカートプラグインWelcartを利用して、ちゃんとショッピング機能を持っています。機能には、 Welcartのウィークポイント

重量計算による送料設定が出来ない 運送会社とのデータ提携が出来ない メルマガ機能がない(MailChimpなどで可) レビュー機能がない(プラグイン:これとかこれで対応可) カスタマイズ情報が少ない しかし、 BLUE STYLEよりSEOの方がもっと上。 という、個人事業主や中小企業に向いていると思います。

ECサイト構築のためのプラグインソフト「Welcart」を無料でご提供!

対応WordpressバージョンWordPress 4.2.2 BLUE STYLEのカスタマイズ WordPressテンプレート 制作

 

Joomla のKunenaフォーラム機能 テンプレートデザインadobi.org

Joomla のKunenaフォーラム機能 テンプレートデザインadobi.org

Joomla のKunenaフォーラム機能 テンプレートデザインadobi.org

Joomla のKunenaフォーラム機能を持ってホームページ制作。Joomla! 日本語フォーラム。

アドビ 掲示板 - Adobe

Adobe アドビ illustratorPhotoshopAcrobatDreamweaverなど活用総合ガイド:アドビソフトのガイド、ビデオチュートリアルAdobe求人情報や、最新情報を集めて、よくある質問FAQサポートセンター!

http://www.adobi.org/community.html

対応Joomlaバージョン :Joomla! 3.4.1 Joomla のKunenaフォーラム機能 テンプレートデザインadobi.org

Eccube 横並び商品一覧プラグイン

Eccube横並び商品一覧プラグイン

大変需要の多い商品一覧ページを横並び表示にするプラグインです。
1カラム、2カラムは横4列に、3カラムは横3列に表示し、行で高さを揃えたり、角丸(半径 ※現在はFirefoxIE9以上 で動作確認しています。
商品項目の 表示・非表示 の切り替えは、プラグイン設定から行えます。 商品に関するすべての項目を 表示・非表示 と切り替えることができます。