robots.txt ざっくり手順

robots.txtをGoogleに登録する。
記述方法については、今回は触れない。
正確に登録しても、すぐにGooglebot等がrobots.txtを認識しない場合があり、一時的に結果を伴わないこともある。

robots.txt テスター

「Search Console」→「クロール」→「robots.txt テスター」。
まずは、公開済みのrobots.txtを表示し、その内容を確認する。
注意点あり。そのページでのチェックは、その度にブラウザ更新の必要がある。

robots.txtの編集等が必要であることを確認して、新規にrobots.txtを作成しアップする。
先の要領で、ファイルアップ成功を確認する。
「robots.txt テスター」の送信。
3番の「Googleに更新をリクエスト」を送信。
Googlebot等が、新規robots.txtの認識に成功すれば、「robots.txt テスター」のテキストエリアに反映される。

No Category Base (WPML) 使わなくなった理由

現在は使用していない。

categoryをurlから消すプラグイン

No Category Base (WPML)。
通常カテゴリーページは「https://~.com/category/ai/」のようにcategoryの文字が入る。
このcategoryを消して「https://~.com/ai/」のように表示する。
このプラグインを使わないことにした。

プラグインを外すと個別記事が404

このプラグインを外したら個別記事が表示されなくなった。
あせったね。やられたーですよ。
でも対処方法はあって、WordPressの基本設定により修復できる。

設定→パーマリンク設定。
特に変更の必要はなく、そのままの状態で「変更を保存」をクリック。
これでOK、表示されるようになる。

理由

使わないことにした理由。

  • urlにcategoryの文字が入ってもSEOには、ほとんんど影響しないと体感的に判断した。
  • 検索時にcategoryを加えることでカテゴリーの登録状況を簡単に把握できるというメリットもある。
  • バグあるいは他への影響などの報告が、ネット上に少し見られる。
  • url構造を根本的に変換するので、想定しないバグが生じる可能性が将来的にもありうると思った。

WordPress Popular Posts 久しぶりに再設定

記事をランキング表示してくれるプラグイン。

とりあえず以下のサイトを参考にして設定した。
https://hisagawanet01.com/wordpress-popular-posts/

ウィジェットでの設定

外観→ウィジェット。

投稿タイプ?
調査中。

カテゴリーを除外することができる。
カテゴリーIDの前に半角マイナス記号(-)を加える。
カンマ(,)で区切る。
-123,-456,-789

ID指定のurlでリンクする方法

すでに設定されているIDが、記事またはカテゴリーとして機能しているか。
つまりリンク先が削除されていないか。

投稿ページIDの一例。
https://grewja.com/?p=4398

カテゴリーIDの一例。
https://grewja.com/?cat=46

参考。
http://wpdocs.osdn.jp/%E6%8A%95%E7%A8%BF%E3%80%81%E5%9B%BA%E5%AE%9A%E3%83%9A%E3%83%BC%E3%82%B8%E3%80%81%E3%82%AB%E3%83%86%E3%82%B4%E3%83%AA%E3%83%BC%E3%81%B8%E3%81%AE%E3%83%AA%E3%83%B3%E3%82%AF

FFFTP 文字コードの設定

WordPressでファイルを直接編集しアップする作業が必要になった。
FFFTPで、文字コードの設定を行った。
文字化けや停止を避ける目的。

環境はWindows。
編集にはTeraPadを使用し、メモ帳は使用しないことを前提にする。

設定

「ローカルの漢字コードの設定」を行う。
オプション→環境設定→転送4。
UTF-8(BOMなしの方)にした。

「ホストの漢字コードの設定」を行う。
ホストを選び、ホストの設定→文字コード。
ホストの漢字コードは無変換にした。
ファイル名の漢字コードはUTF-8にした。

追記

TeraPadで編集しアップしたが問題は生じなかった。
TeraPadでの文字コードの選択には注意が必要です。

今回は、理由付けなどの説明はしません。
結果オーライ、あとは自己責任でよろしく。

初めてのサーバ移転で画像紛失

WPXレンタルサーバ使ってたけど、高いのでWPXクラウドに引越しすることにした。
サーバ移転は初体験。

バックアップデータを取得しとけば、ひどい目には合わないだろうと思ったら甘かった。

.htaccessファイル?
未だに使ったことないので無視することにした。

問題は、wp-contentフォルダのダウンロード。
これを省略してはいけなかった。
画像ファイルとプラグインを失ったようだ

そこだけ注意して。
以上、超初心者向け情報でした。

クォーテーション等が自動変換される件 WordPress

codeやpreはWordPressでは重要

HTMLでコメントアウトする場合下のように書きます。
<!--コメントアウト-->

ここではコメントアウトの説明をするわけではない。
<!--コメントアウト-->の記述部分は今回はcodeタグで括っている。

このcodeタグやpreタグは、WordPressではとても重要であることが判明しました(私の中で)。
このcodeタグを省略すると、勝手に変換し違う表示になってしまう。
<!–コメントアウト–>

他にもWordPressで自動変換されてしまうものがある。
半角クォーテーション(')や半角ダブルクォーテーション(")が、それぞれ全角に自動変換される。

この自動変換機能の存在理由は不明ですが、とても迷惑な機能です。
プログラムソースを紹介するときに勝手に変換されると、コピペできないものね。

というわけでWordPressでは、codeやpreはとても重要ということになります。

自動変換を止める方法

この自動変換自体を止める方法はないのかと言われれば、あるわけです。
しかし、その方法を勧めるわけではない。
なぜかというと、自動変換する理由が今の自分にはわからないから。
もしかしたらセキュリティ上の配慮かもしれない。

WordPressでは、wptexturize関数により自動変換されるようだ。
対応策が用意されている。
functions.phpに次の一文を追加することで、自動変換機能はストップする。

add_filter('run_wptexturize' , '__return_false');

当サイトでは、現時点では、この関数処理をしていない。

記事の編集がたいへん

この自動変換に気づくのが遅かった人は、記事編集がたいへんと思う。
全角クォーテーションは、WordPressに付随した検索でヒットできると思う。
その記事を開いてからChromeで検索すると、全角と半角の区別ができないという始末。
いったん他のエディタにコピーして、それから置き換えして、編集しなおす。
地道にやるしかないと思います。

Revision Control 続き番号にする

現在は使用していない。
当方ではプラグインを使用せず、直接編集する方法を採択した。

 

探し方

WordPress内で検索すればよい。
プラグインで、似たような名前のものがあるので注意。

作者名は、「Dion Hulse」。
プラグイン名と作者名を並べて検索した。
「Revision Control Dion Hulse」。

設定

各項目で「投稿リビジョンを保存しない」を選択するだけ。
あとはセーブ保存するだけ。

Optimize Database after Deleting Revisions

WordPressのデータベースの最適化およびリビジョンの削除を行う。
軽量化した分、表示が早くなるらしい。

英語なので、設定項目の意味がわかりにくい。
以下のサイトを参考にした。
https://chucco.com/wordpress-revision/

設定

ざっくり説明。自己責任で。

上半分の設定。

  • postチェック。pageチェック。
  • Delete revisions older than。
    ゼロ設定。
  • Maximum number of – most recent – revisions to keep per post / page
    リビジョンを残す数。ゼロ設定。
  • Delete transients。
    初期設定「DELETE EXPIRED TRANSIENTS」がいいかも。
  • Optimize InnoDB tables too。
    チェック。
  • Keep a log。
    チェックなし。
  • Scheduler。
    NOT SCHEDULED。
    事前にバックアップをとるべき。
  • 他の項目はチェックなし。

下半分の設定は、初期設定のままノーチェックにした。
「Save Setteings」で保存。

実行

事前にバックアップをとるべき。
「Go To Optimizer」→「Start Optimization」で実行。

Search Everything

現在は使用していない。

Search Everything

カスタムフィールドを検索できるということでインストールした。
カスタムフィールドの検索自体はできる。
キーは対象外で、値を検索する。

キーワードをハイライトするとのことだったが、したりしなかったりするのはなぜ?
わざわざ全文表示に変えたのに。
この辺は後日の調査課題としよう。

「カテゴリー名を検索」をオンにしたところ、WordPess標準の投稿一覧での検索機能に問題が生じた。
カテゴリー指定し、ボタンクリックで検索したところ何も表示されない。
プラグイン「Batch Cat」においても同様の結果となった。

つまりWordPess標準の検索機能に働きかけると見られ、誤動作の原因となりうる。
結論から言うと日頃はオフまたは停止しておいたほうがよさそうにみえる。

検索機能のカスタマイズって結構難しいのか?
「WP Custom Fields Search」。これは使用したことないが評判が悪いような気がする。
でも使ったことないんでね、実際にはわかりません。

検索結果のカスタマイズ

検索結果を全文表示と抜粋表示を変更する。

まずは、search.phpを開く。
条件分岐が施されていていずれも記事本文は、get_template_part関数により表示されると予想がつく。

get_template_part

get_template_part( 'template-parts/content', 'none' );

上文の場合、template-parts/content-none.phpを実行するというような意味だと思う。
template-parts/content-none.phpは実際にある。

get_template_part( 'template-parts/content', 'search' );

別の分岐では上文のように、「search」とあった。
だからtemplate-parts/content-search.phpがあるのかと思いきや、なぜか見つからない。

template-parts/content.phpは存在することに気づく。
もしかしたら、この場合はtemplate-parts/content.phpに引数として「search」を渡しているのでは、と想像した。
template-parts/content.phpを編集したところ、カスタマイズに成功した。
この想像が正しいかは不明だが、結果オーライということで。

the_contentとthe_excerpt

the_contentが全文表示、the_excerptが抜粋表示であるとわかった。
だからこの部分を好みに合わせ変更すればいいということになる。

if ( is_search() )とある。
「検索ページなら」という意味。
この場所にあるthe_excerpt関数をthe_content関数に変更した。

Batch Cat カテゴリーを一括して外す

日頃はオフでもよい。

使い方

「設定」で表示件数を多めにしておく。
「ツール」から実際のカテゴリー操作を行う。

下段にボタンがあり、「Set」は移動、「Add」は追加、「Drop」は削除(カテゴリーから外す)。
「Add」機能に関しては、WordPress標準機能として存在するため使用しないものと考えてもいい。

セレクトボックスでカテゴリーを選択し「Search」ボタンをクリック。
対象記事にチェックを入れる。
カテゴリー一覧から、はずしたいカテゴリーを選びチェックを入れる。
「Drop」ボタンを押します。

authorリンクをテキストに

記事タイトル直下にある、header内のauthorリンク部分のカスタマイズ。
つまり、著者別記事のリンクを、リンクなしの著者名テキストに変更する。

なぜ変更するかというと、そのリンクが不要と思うから。
リンク削除によって、クローラーの効率化がはかれる可能性があると考えた。
普通に考えて、著者が一人ならそのリンクは不要だ。

編集場所はどこか

当サイトでは個別記事のheader表示は、content-single.phpが該当する。
sparkling_posted_onというテーマ独自関数にて実行される。

sparkling_posted_on関数が定義されている場所は、template-tags.phpであった。

構造化が関係している

<a class="url fn n" href="https://~">著者名</a>
上記のように表示されているものを、次のように変更したいわけだ。
<a class="fn n">著者名</a>

“url fn n”は構造化データと関係あると思われ、空にするわけにはいかないようだ。
href以下を削除すればテキスト化される。
それに伴い、”url”の文字指定は削除しておく。
結果的に、class=”fn n”となる。
このような処理でないと、サーチコンソールでエラー表示が出ると思う。

編集方法

template-tags.phpを開く。

sprintf関数が使われている。
sprintfでフォーマットして、printfで出力する、ということだろう。

sprintf( '<span class="author vcard"><a class="url fn n" href="%1$s">%2$s</a></span>',

終結していない一文だが、上記一文を一旦コメント化する。
今回は次のように変更することにした。

//sprintf( '<span class="author vcard"><a class="url fn n" href="%1$s">%2$s</a></span>',
sprintf( '<span class="author vcard"><a class="fn n">%2$s</a></span>',

これで動いているようなので、様子見します。

未使用 後日の宿題

関数が定義済みかどうか

if (function_exists( 'sparkling_posted_on' )) {~;}

多次元配列のソート

多次元配列の定義、よくわからない。
番号が振ってないということかな?
配列の配列であるいうことは間違いなさそうだ。

2次元配列と3次元配列の違いは、配列の中にある配列の要素数??が2と3の違い。
用語がよく分からん。
あとで調べておきます。

array_multisort()というのがソートできて便利らしい。

フロントページのh1タグの消去

現時点の当サイトでは、固定ページはフロントページ(トップページ)にしか使用していない。

フロントは通常、ページタイトルはサイトタイトルと同じだ。
この場合、h1タグはタイトルと同じにする必要はない。
フロントのh1は通常と違い、うまい使い方もできそうだ、ということだ。
Wordpressのデフォルトのレイアウトだと何かと融通がきかないので、h1を一旦消去する。

構造化エラーが出ないように下準備

あらかじめhentryを消去しておく。
後日詳細。

編集場所はどこか

当サイトでは、content-page.phpが固定ページに該当するようである。

方法

<header><h1></h1></header>を、
<!--<header><h1></h1></header>-->というように、
HTMLコメントアウトすればいいと思う。

コメントアウトは入れ子にできないので範囲指定は厳密に。
他のコメントアウトを含まないように注意する。

ページタイトルの入力欄には、念のため全角スペース一文字を入力した。

フッターリンク

フッターリンク

テーマ提供者のリンク。
footer.phpを開く。

「echo of_get_option(~)」を無効化。
「sparkling_footer_info」を無効化。
<?php //echo of_get_option( 'custom_footer_text', 'sparkling' ); ?>
<?php //sparkling_footer_info(); ?>

sparkling_footer_infoはextras.phpで定義されていて、詳細に設定することも可能。

Breadcrumb NavXT 記入場所

「Breadcrumb NavXT」はパンくずリストで構造化を促すプラグイン。

インストールするだけではだめで、テーマ編集から、コードを直接記入しないと動作しない。
記入コードですが、設定→ヘルプ→クイックスタートと進めば、記入例が載っています。
「typeof=”BreadcrumbList” vocab=”https://schema.org/”」の部分は必要だと思う。
例えば以下のように書きます。

<!--Breadcrumb NavXT-->
<div class="breadcrumbs" typeof="BreadcrumbList" vocab="http://schema.org/">
<?php if (function_exists('bcn_display')) {bcn_display();} ?>
</div>

個別記事への記入場所

個別記事に記入しないと、話にならないです。
自分は先頭ではなく、試しに記事の末尾に記入することにしました。
となると個別記事本文を扱う場所を探さねばなりません。

当方では、content-single.phpが該当する。
区切りのhrタグも追加しました。

カテゴリーなどへの記入場所

後からカテゴリー記事へは記入できないのかなと気がつきました。
結論を言うとこれはできます。

今回はタイトルと本文の間、つまり閉じたheaderタグの次に記入することにした。
当方では、archive.phpが該当する。

好みの問題

とりあえず動いているようなので様子見です。
デザインは後ででいいや。

結局は好みの問題なので、好きな場所においたらいいと思います。

未確認な記述法

一行コメント

<?php //コメント ?>
この記述はあり。解決。

ifと一文

<?php if (true) hoge(); ?>
一文なら{}は不要。解決。
もちろん付してもいい。

ファイル末尾は省略できる?

<?php
~

これで終了して、?>で閉じてないのを見かけたんだが。
ファイル末尾だと省略していいのかな?

endif

endifを含まない

基本形。

<?php
if (~) {~;}
?>

endif必須

例えば以下のように{}を使わない書き方がある。
{}を使わない場合は、endifが必須だと思う。
endifで条件文は終了だけど、その後に続けて記入しても当然に構わない。

<?php if (~) : ?>
「この部分にHTMLソースを記述できる。echoなしで出力される。」
<?php endif; echo 'hello'; ?>

カテゴリーリンクの非表示

記事タイトル直下にある、header内のカテゴリーリンク部分の編集。

所属カテゴリーへのリンクが表示されるが、その表示がない方がいい場合もある。
複数の所属カテゴリーリンクを表示するので、その場合はスマートに見えない。
構造化には成功しているので、カテゴリーへのリンクはあるわけだし。

親カテゴリーにチェックを入れるのと入れないのとでは、urlが変わってくる。
意味が違ってくるわけです。知ってました?
というわけで複数の所属カテゴリーリンクを表示させないという選択肢はある。

編集場所はどこか

当方では、content-single.phpが該当します。
タグ記述されているものを目で追い、その部分を推定します。
バッサリ、HTMLコメント化するのがわかりやすい。
テーマによって変わるので、以下は一例となります。

<!--<span class="cat-links"><i class="fa fa-folder-open-o"></i>
<?php printf( esc_html__( ' %1$s', 'sparkling' ), $categories_list ); ?>
</span>-->

 

コメント欄をまとめて非表示にするプラグイン

二つ紹介する。

Disable Comments

機能の一つを取り上げますと、コメント欄をすべて、一時的に非表示・停止することができる。

  1. 「どこでも」。
    ここにチェックを入れると、コメント欄をすべて、一時的に非表示・停止することができる。
    コメント停止ということでディスカッション設定項目も非表示になる。
  2. 「特定の投稿タイプに適用」。
    説明省略。

「どこでも」チェックで非表示になるディスカッション設定項目は。元に戻すことはできる。
「特定の投稿タイプに適用」のみにチェックを入れて「変更を保存」で元の状態に戻せる。

One Click Close Comments

まさにワンクリック、コメント欄の表示・非表示を切りかえる。
これは簡単、インストールするだけ。
投稿一覧に移動し、色の付いた丸をクリックして変更。

カテゴリーごとにコメント許可の変更

WordPressの標準機能。
投稿一覧で一括編集することが可能です。