Web技術録

WordPressに入れたほうがいいプラグイン。【メモ】

WordPressを入れた時に、まず入れといたら便利なプラグインをまとめておきます。
ただし、これは私のメモ用なのでご了承ください。

Classic Editor

このプラグインはまず初めに追加しましょう!
昔からWordpressを利用している方には必須です。
新しくなったエディターを古いものに変えるものです。
新しいエディターに違和感のない方は必要ありません。

カスタムフィールドテンプレート

カスタムフィールドテンプレート記事に必ず出るであろう項目の入力欄をあらかじめ作っておくためのプラグインです。
使い方はいろいろありますが、SEOのタイトルやディスクリプション、キーワードに使えたりします。

Category Order and Taxonomy Terms Order

カテゴリの順番を思い通りにするプラグインです。

Custom Post Type UI

投稿タイプを追加できるプラグインです。
ニュースやプレスリリース、など投稿のタイプを変更したい場合に利用します。
投稿ページやアーカイブページのデザインも変更できます。

Easy Table of Contents

投稿や固定ページの見出しを目次として表示することができます。

MW WP Form

お問合せページを作ります。

WordPress Popular Posts

人気な投稿をリストにし、サイドバーなどに表示できるウェジットにすることができます。

AddQuicktag


オリジナルのタグを入れて記事を装飾したりできます。

Advanced Ads

広告管理が簡単にできます。

WP-CopyProtect [Protect your blog posts]

記事にコピー防止対策が出来ます。

エックスサーバーでメール設定しながらサイトを別のサーバーで運用する方法。

エックスサーバーでメール設定しながらサイトを別のサーバーで運用する方法を紹介します。

エックスサーバーの管理画面、「ドメイン」→「DNSレコード設定」をクリック。
対象のドメインを選択します。

「DNSレコード一覧」タブをクリックし、現在設定されているDNSレコードを確認します。

*.aaaaaa.com A 121.11.111.111 サブドメインの設定。
www.aaaaaa.com A 157.111.111.111 www有りの場合のIPアドレスの設定。
aaaaaa.com MX sv321.xserver.jp MXはメールの設定
aaaaaa.com A 157.111.111.111 サイトを運用しているサーバーのIPアドレスを設定

※この設定ではサブドメインとドメインの設定場所が違っています。
※サーバーのIPアドレスは各サーバーの管理画面などで調べることが出来たりしますが不明な場合はサーバーに直接問い合わせれば教えてくれます。

Aレコード、MXレコードは存在しない場合は「DNSレコードの追加」タブをクリックしレコードを追加してください。

「ホスト名」対象サブドメインが無ければ空白でOK
「種別」レコードを選ぶ。A(サイト)MX(メールアドレス)
「内容」IPアドレスを入れる。
「優先度」空白でOK。

注意事項その1

ネームサーバー(ドメインを管理しているところで設定できる)はエックスサーバー(DNSレコードを設定したサーバー)を参照すること。
DNSレコードの「Aレコード」はサイトのIPアドレスを参照します。
DNSレコードの「MXレコード」はメールの設定されているサーバーのIPアドレスを参照します。

※ネームサーバーを設定するのはドメインを取得したところ。
例)お名前.com・ムームードメインなど。

注意事項その2

DNSの設定は反映されるまで最大24時間必要とします。
ただ、設定が正しければサイトが消えたりメールが使えない期間が発生したりはしませんが、設定方法が一つでも間違っているとエラーが発生します。ここで問題なのが、エラーが発生したことがわかるのが設定の数時間後です。そこから設定方法を正しく直しても正しい設定が反映されるまで時間が掛かります。
今回私は丸一日メールが使えない期間が発生してしまいました。
なので、クライアントがいる場合、「最大で3日ほど使えない期間が発生する可能性がある」と保険を掛けることをお勧めします。

WordPress と SEO wp_head()内の整理

2018年10月時点で、SEOはリンク数ではなくコンテンツ量だと言われていますが、昔からコードの整理が重要なのは変わっていません。
なので、ヘッダーにごちゃごちゃjavascriptがあったり、cssがあったりするとなかなか検索順位が上がらなかったりします。

WordPressでサイトを作ると自動的にヘッダー書き出されるコードの量が多くコンテンツの記事までたどり着くのに何百行とコードが続いてしまう事がちょっと問題なので、整理方法としてwp_head()内の記述の削除方法をご紹介します。

wp_head()内の内容の削除方法。

操作するファイルは「外観」内の「テーマ編集」の「functions.php」です。

functions.phpに以下のコードを追加します。
追加場所は特にどこでも構いませんが後で編集できるよう一番下に書くといいと思います。

//ヘッダー内の不必要なもの削除
/**
*wp_head  remove_action
*/
remove_action('wp_head', 'wp_resource_hints', 2);
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('admin_print_scripts', 'print_emoji_detection_script');

remove_action('wp_print_styles', 'print_emoji_styles' );
remove_action('admin_print_styles', 'print_emoji_styles');
remove_action('wp_head', 'rest_output_link_wp_head');
remove_action('wp_head', 'wp_oembed_add_discovery_links');
remove_action('wp_head', 'wp_oembed_add_host_js');
remove_action('wp_head', 'feed_links', 2);
remove_action('wp_head', 'feed_links_extra', 3);
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'wp_generator');
//nextpage,prevpage
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);
//canonicalのmetaタグ
remove_action('wp_head', 'rel_canonical');
remove_action('wp_head', 'wp_shortlink_wp_head', 10, 0);
/*jquerydelete*/
function delete_wphead_jquery() {
    wp_deregister_script('jquery');
}
add_action( 'wp_enqueue_scripts', 'delete_wphead_jquery' );
/*title delete
remove_action( 'wp_head', '_wp_render_title_tag', 1 );*/
/*css delete*/
remove_action( 'wp_head', 'wp_print_styles',8);
remove_action( 'wp_head', 'wp_print_head_scripts',9);

サイトによって必要なものも消えてしまう可能性があるので注意しながら追加してみてください。

情報サイトに他サイトの情報を埋め込む方法。【Googleに嫌われないHTML】

情報記事を書いている場合、他サイトから情報を引用する場合が出てきます。

厚生労働省やWHO、各情報機関などなど。
Wordpressにその記事をそのままコピペしてきてはコピペサイトだとGoogleに勘違いされてペナルティが付いてしまう場合があります。
せっかく情報サイトを運営していても、せっかく書いた情報ページが検索しても出てこない、だれにも見てもらえないという悲しい結果になってしまいます。

googleでペナルティが付いてしまった場合、それを回復しようとしても容易ではありません。

ただ、情報サイトを作っている上で他のサイトから情報を持ってきたい場合は必然的に出てきます。
その場合に必要なタグがblockquote【ブロッククォート】タグです。
引用文であることをあらわすタグです。

個性労働省のインフルエンザの予防対策について以下のように記載されています。

(1)「咳エチケット」について
咳・くしゃみが出る時は、他の人にうつさないためにマスクを着用しましょう。マスクを持っていない場合は、ティッシュや腕の内側などで口と鼻を押さえ、他の人から顔をそむけて1m以上離れましょう。

このようにblockquoteタグを使うとインデント(列が後ろに下がる事)が付きます。
当サイトではcssでダブルコロンの背景画像を上下に入れています。
よくあるパターンのcssデザインです。

HTMLで表記すると以下のような記述になります。

<blockquote>(1)「咳エチケット」について
咳・くしゃみが出る時は、他の人にうつさないためにマスクを着用しましょう。マスクを持っていない場合は、ティッシュや腕の内側などで口と鼻を押さえ、他の人から顔をそむけて1m以上離れましょう。</blockquote>

情報がメインになっているgoogleといっても正しいHTML記述をしなければ勘違いされてペナルティーが付いてしまう場合があります。
せっかく積み上げた情報たちを無駄にしてしまわないためにも正しいHTML知識を付けましょう。

楽天RMSで禁止タグを回避する方法。

楽天市場のショップ運営をしていると、いつもぶち当たる禁止タグ。
HTMLに慣れている人からすると、普通にHTMLを書いているだけなのに、いつもエラーが出ますよね。
divタグもpタグも、spanもclassもStyleも使えないなんて!!!!!

他のネットショップならスルッと出来るコーディングも、楽天を作る場合は苦戦してイライラして、頭をかかえてしまいますよね。

ただ、SEOについては深く考える必要が無いのでレイアウトはtableタグを駆使して作りましょう。
それでもcssを使いたい!という場合は便利な【 =””】を使いましょう。

使い方

禁止タグを使う場合。

<span =""></span =""> <div =""></div =""> <ul =""></ul ="">

cssをのidやclassを設定する場合。

<div id="" class=""  =""></div ="">

ゴールドのサーバーにcssを置き、外部cssを読み込む方法。

<link ="" rel="stylesheet" href="https://www.rakuten.ne.jp/gold/【店舗URL】/style.css">

ゴールドのサーバーに置いたiframeを呼ぶ場合。

<iframe src="https://www.rakuten.ne.jp/gold/【店舗名】/parts.html" class="parts" scrolling="no" frameborder="0" =""=""></iframe ="">

注意点

楽天は急な仕様変更を勝手にしてきます。
なので、【 =””】が使えなくなる日が急に来るかもしれません。
その際は適宜変更しないと行けなくなることを考慮しておきましょう。
なので、出来るだけ使用可能HTMLを使い、どうしても、という時だけ【 =””】を使うようにすれば大幅なレイアウト崩れを防げると思います。
特に、請け負っている業者さんの場合、今後クレームが出てこないようにあらかじめの説明が必要だと思います。

とは言え、ショップ側の気持ちも考えていただきたいところです。

wordpress 特定のカテゴリに属する投稿ページにだけ表示するPHP 分岐

カテゴリが増えてくると、特定のカテゴリに属するページにのみ表示したい文章やカスタムフィールドなどが現れます。

編集する場所はテンプレートにもよりますが
「single.php」か「page.php」
どこに表示するかわからない、というような私のような初心者はとりあえず

<p>★★★</p>

など適当なHTMLを追加して更新してみて表示されているところがどこか確認するのがよいでしょう。

例)news というカテゴリスラッグの場合【★★★】が表示されるようになっています。

<?php if(in_category('news')) : ?>
<p>★★★</p>
<?php endif; ?>

ちなみに、
カテゴリスラッグとはカテゴリを登録する際に入力することが出来ます。
日本語でカテゴリを登録するとカテゴリスラッグも日本語になってしまいますが、SEO的にも英数字に変える方がいいかと思われます。
このように分岐する際にも英数字のほうがいいと思いますので変更しましょう。

※すでに日本語で登録してしまっている場合、パーマリンクでURLにカテゴリスラッグが表示するように設定していない場合は英数字に変更しても大丈夫ですが、パーマリンク設定で「/%category%/」としてしてしまっている場合は個別投稿のURLが変わってしまうので変更しないほうがいいと思われます。

WordPress アーカイブページに子カテゴリリストを表示する。コピペで簡単。

カテゴリが増えてくると、Wordpressの横にダーッと長いカテゴリリストが表示されますよね。。。
あれって邪魔・・・
なのでコンテンツをわかりやすくまとめるために、
大カテゴリ→中カテゴリ→小カテゴリ・・・みたいな感じでネットショップみたいに開けていくとわかりやすくていいですよね。

設置する場所はテンプレートにもよりますが
「archive.php」

以下を表示したい場所にコピペすればOK。

<div class="cate_ko_list">

<?php if ( is_category() ) : ?>
<?php   
$categories = get_categories(array('parent' => get_query_var('cat')));//子カテゴリーの情報を取得
if ($categories)//もし子カテゴリーがあったら
{
?>

<?php foreach ($categories as $category) 
{
?>
・<a href="<?php echo get_category_link($category->cat_ID); ?>"><?php echo $category->cat_name ?></a>
<?php 
}
?>

<?php 
}
?>

<?php else: ?>

<?php endif; ?>

</div>

cssは適宜デザインしてください。