サイト内検索とサイト案内をウィジェットで using widgets to set the sight search and the feature
このウェブサイト作成初期の感想
サイト内検索とサイト案内はWebサイトに必須であろう。WordPressでのこれらが簡単に作れるのを知らなかった。ダッシュボードを開いて,Appearance > Widgetsに進むと,左側には種々のwidgetが用意され,右側にはその配置オプションがある。サイト内検索はSearchで,サイト案内はTextで作成した。配置場所であるが試行錯誤したが,結局,Sidebar (Home)が一番いい感じである。配置方法は極めて簡単で,配置オプションを開いて,コンテンツをドラッグアンドドロップするだけであった。Jun. 3, 2020
サイト案内の編集ができない
当サイトのトップページに掲載しているぼくのhttp教材ウェブサイトはGoogleの方針で表示ができなくなっていた。2日前にDreamweaverを使ってエックスサーバーのhttps初期ドメインに移行して表示に問題はなくなった。
そこで,「ダッシュボードを開いてAppearance > Widgets > Sidebar (Home)」で,サイト案内にも反映させようとしたが,エラーが出て進めない。そのエラーメッセージをコピペして,Perplexityに聞いた。
————————————————
WordPressテーマ「Lightning」で表示される「The ‘text’ block was affected by errors and may not function properly」というエラーメッセージへの対処法を以下にまとめます。
原因の特定
このエラーは、以下の要因で発生する可能性があります:
1. プラグインの競合:特定のプラグインがテーマやブロックエディタと互換性がない場合。
2. テーマの不具合:テーマのコードや設定に問題がある場合。
3. JavaScriptエラー:ブロックエディタで使用されるスクリプトが正しく動作していない場合。
4. キャッシュの問題:ブラウザやサーバーキャッシュが古い情報を保持している場合。
解決手順
- プラグインの競合を確認
• すべてのプラグインを一時的に無効化し、問題が解消するか確認します。
• 無効化後に問題が解消した場合、1つずつ有効化して原因となるプラグインを特定します。
• 特に「文字入力系」や「ブロックエディタ拡張系」のプラグイン(例: Advanced Editor Tools, VK Blocks Pro)が影響することがあります。 - デバッグモードを有効化
•wp-config.php
ファイルを編集し、デバッグモードを有効化して詳細なエラー情報を確認します:
php
define( ‘WP_DEBUG’, true );
define( ‘WP_DEBUG_LOG’, true );
• エラーログは `wp-content/debug.log` に保存されます。ここでエラー内容を確認し、原因となるコードやプラグインを特定します。
- テーマの更新または修正
• 使用しているLightningテーマが最新バージョンであることを確認してください。
• 子テーマでカスタマイズしている場合、functions.phpやカスタムコードに問題がないか確認します。 - JavaScriptエラーの確認
• ブラウザの「開発者ツール」を開き、「コンソール」タブでJavaScriptエラーを確認します。
• エラーが特定された場合、それに関連するスクリプトやプラグインを修正または無効化します。 - キャッシュのクリア
• ブラウザキャッシュとサーバーキャッシュ(使用している場合)をクリアします。
最終手段
• 問題が解決しない場合、テーマやプラグインの開発者に問い合わせるか、別テーマへの切り替えも検討してください。
これらの手順で問題が解決する可能性があります。
————————————————
activated pluginsをすべてdeactivateしたが変化はない。というわけで,activateだったVK All in One Expansion Unit, VK Block Patterns, VK Blocksも関係はない。
ダッシュボードをみると,Site Health Status 欄があって,Your site has a critical issue that should be addressed as soon as possible to improve its performance and security.
Take a look at the 5 items on the Site Health screen.
とされる。8項目の注意喚起があった。
操作中に,「サイト案内」が消えてしまった。幸いアイフォーンの表示を数ページ戻って,以前のトップページを表示できて,「サイト案内」をメモアプリにコピペができた。
これをコピペしたら,”not a valid JSON response”である。
次のサイト the response is not a valid json response when saving widget が最も参考になるようである。
WordPressのダッシュボードのSettings / Generalを見ると,WordPress Address, Site Addressが,https://motochan.info/wp になっていた。驚くよねえ。https://motochan.info/wp/ に変更した。しかし,これでは改善されず。
Tools > site Health を見ると,
————————————————
The REST API encountered an unexpected result Performance
The REST API is one way that WordPress and other applications communicate with the server. For example, the block editor screen relies on the REST API to display and save your posts and pages.
When testing the REST API, an unexpected result was returned:
REST API Endpoint: https://motochan.info/wp/wp-json/wp/v2/types/post?context=edit
REST API Response: (403) Forbidden
Perplexityにお聞きすると
————————————————
WordPressのREST APIで403 Forbiddenエラーが発生する場合、以下の原因と対処法が考えられます。
原因
1. セキュリティプラグイン:セキュリティプラグインがREST APIへのアクセスをブロックしている。
2. パーマリンク設定:パーマリンク設定が正しくない。
3. .htaccessファイルの問題:.htaccess
ファイルがREST APIの動作を妨げている。
4. サーバー設定:サーバー側の設定でREST APIへのアクセスが制限されている。
5. 認証の問題:APIへのアクセスに必要な認証情報が不足している。
対処法
- セキュリティプラグインの確認
• 使用しているセキュリティプラグイン(例:Wordfence, SiteGuard WP Plugin)の設定を確認し、REST APIへのアクセスを許可するように設定します。
• 一時的にセキュリティプラグインを無効化し、問題が解決するかどうかを確認します。 - パーマリンク設定の確認
• WordPressの管理画面から「設定」→「パーマリンク設定」を開き、設定を保存し直します。これにより.htaccess
ファイルが再生成されます。 - .htaccessファイルの修正
•.htaccess
ファイルに記述されたルールがREST APIの動作を妨げている可能性があります。以下の内容を.htaccess
ファイルに追加または修正してみてください。
Apache
RewriteEngine On RewriteBase / RewriteRule ^index.php$ – [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] - サーバー設定の確認
• サーバーの設定でREST APIへのアクセスが制限されている場合、サーバー管理者またはホスティングプロバイダーに問い合わせて、REST APIへのアクセスを許可するように依頼します。 - 認証情報の確認
• REST APIへのアクセスに認証が必要な場合、正しい認証情報(APIキー、トークンなど)を設定しているか確認します。
•context=edit
パラメータは認証されたユーザーのみが使用できるため、認証が必須です。 - テーマとプラグインの競合
• テーマやプラグインがREST APIと競合している可能性があります。テーマをデフォルトテーマに変更し、すべてのプラグインを無効化して、問題が解決するか確認します。その後、1つずつテーマやプラグインを有効化して、原因を特定します。
これらの対処法を試すことで、403 Forbiddenエラーが解決する可能性があります————————————————
なぜか,えらい複雑になった。Autoptimize というpluginも勝手にダウンロードしてactivatedされていた。
https://ja.wordpress.org/plugins/autoptimize/
まあ,種々やった。結果的には良かったのだけど,当初の問題はそのままだ。
————————————————
このさくらのWordPressを搭載しているドメインの権限はエックスサーバーへの移行を完了している。まだコンテンツのコピーなどはまだ開始していない。この環境が問題なのかもしれない。さくらでの問題解決は難しい可能性があって,エックスサーバーへの移行が完了したあとで,改めて対処したいと思う。
以上,2025年4月5日。