プラグインを使用しないでOGPの設定 思ってた以上にうまくいかない
モバイルサイトの読み込み速度を Test My Site ツールでテストしてみました
うーん もう少し早くしたい!
でも今の私では限界です
何とかいい方法はないかとネットを探したところ
何と! LuxeritasというWordPress テーマがありました
LuxeritasはSEO最適化済み、レスポンシブデザイン、高カスタマイズ性にも関わらず、Webページを高速に表示するための仕組みを満載した、無料の WordPress テーマです。
これに変えればもう少し早くなりそうです
試してみたいと思います
このテーマを使うのなら、いれない方が良いプラグインがあって、
・All in One SEO Pack
・Yoast SEO
これらはやっぱり遅くなる原因なのかなと思いました
とりあえず今のテンプレートで、このプラグインを外して手動で設定してみました
サイトマップとOGPの設定くらいでいいのかな
参考にしたサイト
プラグイン不要でTwitterカードをコピペでサクッと設置する方法|WordPressカスタマイズ
とても分かりやすいです
これ設定するだけでも、かなり時間かかりました
途中メニューバーが縮んだり動作しなくなったり・・・
まだまだ勉強中
設定したもの
<!-- Facebook用設定 --> <?php if (is_single()){//単一記事ページの場合 if(have_posts()): while(have_posts()): the_post(); echo '<meta property="og:description" content="'.mb_substr(get_the_excerpt(), 0, 100).'">';echo "\n";//抜粋を表示 endwhile; endif; echo '<meta property="og:title" content="'; the_title(); echo '">';echo "\n";//単一記事タイトルを表示 echo '<meta property="og:url" content="'; the_permalink(); echo '">';echo "\n";//単一記事URLを表示 } else {//単一記事ページページ以外の場合(アーカイブページやホームなど) echo '<meta property="og:description" content="'; bloginfo('description'); echo '">';echo "\n";//「一般設定」管理画面で指定したブログの説明文を表示 echo '<meta property="og:title" content="'; bloginfo('name'); echo '">';echo "\n";//「一般設定」管理画面で指定したブログのタイトルを表示 echo '<meta property="og:url" content="'; bloginfo('url'); echo '">';echo "\n";//「一般設定」管理画面で指定したブログのURLを表示 } $str = $post->post_content; $searchPattern = '/<img.*?src=(["\'])(.+?)\1.*?>/i';//投稿にイメージがあるか調べる if (is_single()){//単一記事ページの場合 if (has_post_thumbnail()){//投稿にサムネイルがある場合の処理 $image_id = get_post_thumbnail_id(); $image = wp_get_attachment_image_src( $image_id, 'full'); echo '<meta property="og:image" content="'.$image[0].'">';echo "\n"; } else if ( preg_match( $searchPattern, $str, $imgurl ) && !is_archive()) {//投稿にサムネイルは無いが画像がある場合の処理 echo '<meta property="og:image" content="'.$imgurl[2].'">';echo "\n"; } else {//投稿にサムネイルも画像も無い場合の処理 echo '<meta property="og:image" content="https://〇〇〇〇.com/wp-content/uploads/〇〇〇〇/〇〇〇〇.jpg">';echo "\n"; } } else {//単一記事ページページ以外の場合(アーカイブページやホームなど) echo '<meta property="og:image" content="https://〇〇〇〇.com/wp-content/uploads/〇〇〇〇/〇〇〇〇.jpg">';echo "\n"; } ?> <meta property="og:site_name" content="<?php bloginfo('name'); ?>"> <meta property="fb:app_id" content="〇〇〇〇"> <!-- Facebook用設定 --> <!-- google用設定 --> <meta name="robots" content="noodp"> <link href="https://〇〇〇〇.com/" rel="canonical"> <link href="https://〇〇〇〇.com/page/2" rel="next"> <link href="https://plus.google.com/〇〇〇〇/" rel="publisher"> <meta content="ja_JP" property="og:locale"> <meta content="website" property="og:type"> <!-- Twitter Card --> <meta name="twitter:card" content="summary"> <meta name="twitter:title" content="<?php the_title(); ?>"> <?php if (is_singular()){//投稿・固定ページの場合 if(have_posts()): while(have_posts()): the_post(); echo '<meta name="twitter:description" content="'.mb_substr(get_the_excerpt(), 0, 100).'">';echo "\n";//抜粋を表示 endwhile; endif; echo '<meta name="twitter:title" content="'; the_title(); echo '">';echo "\n";//単一記事タイトルを表示 echo '<meta name="twitter:url" content="'; the_permalink(); echo '">';echo "\n";//単一記事URLを表示 } else {//単一記事ページページ以外の場合(アーカイブページやホームなど) echo '<meta name="twitter:description" content="'; bloginfo('description'); echo '">';echo "\n";//「一般設定」管理画面で指定したブログの説明文を表示 echo '<meta name="twitter:title" content="'; bloginfo('name'); echo '">';echo "\n";//「一般設定」管理画面で指定したブログのタイトルを表示 echo '<meta name="twitter:url" content="'; bloginfo('url'); echo '">';echo "\n";//「一般設定」管理画面で指定したブログのURLを表示 } $str = $post->post_content; $searchPattern = '/<img.*?src=(["\'])(.+?)\1.*?>/i';//投稿にイメージがあるか調べる if (is_singular()){//投稿・固定ページの場合 if (has_post_thumbnail()){//投稿にサムネイルがある場合の処理 $image_id = get_post_thumbnail_id(); $image = wp_get_attachment_image_src( $image_id, 'full'); $img_url = $image[0]; echo '<meta name="twitter:image" content="'.$image[0].'">';echo "\n"; } else if ( preg_match( $searchPattern, $str, $imgurl ) && !is_archive()) {//投稿にサムネイルは無いが画像がある場合の処理 $img_url = $imgurl[2]; echo '<meta name="twitter:image" content="'.$imgurl[2].'">';echo "\n"; } else {//投稿にサムネイルも画像も無い場合の処理 $ogp_image = get_template_directory_uri().'/images/〇〇〇〇.jpg'; $img_url = $ogp_image; echo '<meta name="twitter:image" content="'.$ogp_image.'">';echo "\n"; } } else {//単一記事ページページ以外の場合(アーカイブページやホームなど) if (get_header_image()){//ヘッダーイメージがある場合は、ヘッダーイメージを $img_url = get_header_image(); echo '<meta name="twitter:image" content="'.$img_url.'">';echo "\n"; } else {//ヘッダーイメージがない場合は、テーマのスクリーンショット $img_url = get_template_directory_uri().'/screenshot.png'; echo '<meta name="twitter:image" content="'.$img_url.'">';echo "\n"; } } //ドメイン情報を$results[1]に取得する preg_match( '/https?:\/\/(.+?)\//i', admin_url(), $results ); //画像の縦横幅を取得 list($width,$height) = getimagesize($img_url); ?> <meta name="twitter:domain" content="<?php echo $results[1] ?>"> <meta name="twitter:image:width" content="<?php echo $width ?>"> <meta name="twitter:image:height" content="<?php echo $height ?>"> <meta name="twitter:creator" content="@datasimblog"> <meta name="twitter:site" content="@〇〇〇〇"> <!-- /Twitter Card --> 〇〇〇〇のところを変更
プラグインを使用しないでOGPの設定 思ってた以上にうまくいかない is a post from: iphone大好き主婦