(Bubble)SEO対策をする

BubbleはSEO対策ができないという記事を見かけます。しかし有料プランにするとSNS対応や独自タグを書くことができます。

無料プランでは、以下のように「Expose the type of tags for text elements」とsitemap.xmlぐらいしかできる事がありません。

Bubbleの無料プランのSEO画面

有料プランでは、いくつかの設定ができます。

Bubbleの有料プランのSEO画面

「Expose the type of tags for text elements」でh1, h2, h3タグを出力する

「Expose the type of tags for text elements」にチェックを入れた場合、Textエレメントに「H1 Heading – Dark」のようなStyleを指定すると、ページのHTMLにh1タグとして出力されます。

以下は出力例です。

h1タグの出力例

このように、h1タグ内にdivタグでくくって文字列が入ります。

公式ドキュメントはこちらです。

FacebookとTwitterへの対応(Social Media / Open Graph Settings)

TwitterやFacebookで共有される際のメタデータを指定できます。

タイトル(Title)

以下のように出力されます。

</code>タグは、ページ側で指定する必要があるので注意が必要です。</p> <h3 class="wp-block-heading"><span class="ez-toc-section" id="%E3%82%B5%E3%82%A4%E3%83%88%E5%90%8DSite_name"></span>サイト名(Site name)<span class="ez-toc-section-end"></span></h3> <p>以下のように出力されます。</p> <ul class="wp-block-list"><li><code><meta property="og:site_name" content="サイト名"></code> </li><li><code><meta name="twitter:site_name" content="サイト名"></code></li></ul> <p></p> <h3 class="wp-block-heading"><span class="ez-toc-section" id="%E6%A6%82%E8%A6%81Description"></span>概要(Description)<span class="ez-toc-section-end"></span></h3> <p>以下のように出力されます。</p> <ul class="wp-block-list"><li><code><meta property="og:description" content="サイト概要"></code></li><li><code><meta name="twitter:description" content="サイト概要"></code></li></ul> <p></p> <h3 class="wp-block-heading"><span class="ez-toc-section" id="%E3%82%B5%E3%83%A0%E3%83%8D%E3%82%A4%E3%83%ABThumbnail_used_for_links"></span>サムネイル(Thumbnail used for links)<span class="ez-toc-section-end"></span></h3> <p>画像をアップロードすると、以下のように出力されます。</p> <ul class="wp-block-list"><li><code><meta property="og:image" content="https://xxx.cloudfront.net/..."></code></li><li><code><meta name="twitter:image:src" content="https://xxx.cloudfront.net/..."></code></li></ul> <p>また、<code><meta name="twitter:card" content="summary_large_image"></code> も出力されます。</p> <p></p> <h2 class="wp-block-heading"><span class="ez-toc-section" id="%E3%81%9D%E3%81%AE%E4%BB%96%E3%81%AEmeta%E3%82%BF%E3%82%B0"></span>その他のmetaタグ<span class="ez-toc-section-end"></span></h2> <ul class="wp-block-list"><li><code><meta charset="utf-8"></code></li><li><code><meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"></code></li><li><code><meta name="referer" content="origin"></code></li><li><code><meta name="fragment" content="!"></code></li><li><code><meta property="og:url" content="https://example.com/version-test?debug_mode=true"></code></li><li><code><meta property="og:type" content="website"></code></li><li><code><meta name="viewport" content="width=device-width,initial-scale=1.0"></code></li></ul> <p></p> <p></p> <p></p> <h2 class="wp-block-heading"><span class="ez-toc-section" id="robotstxt%E3%81%AE%E8%A8%AD%E5%AE%9A"></span>robots.txtの設定<span class="ez-toc-section-end"></span></h2> <p>クローラーへの指定のrobots.txtを書き換える事ができます。</p> <p>デフォルトでは「User-agent: *」「Disallow: /version-test/」が指定されています。</p> <p>出力先は、https://example.com/robots.txt (dev環境は、https://example.com/version-test/robots.txt ) です。</p> <p></p> <h2 class="wp-block-heading"><span class="ez-toc-section" id="sitemapxml%E3%81%AE%E8%A8%AD%E5%AE%9A"></span>sitemap.xmlの設定<span class="ez-toc-section-end"></span></h2> <p>Bubbleの指定したページをsitemap.xmlに出力することができます。<br>管理画面などを検索結果から外す場合に利用します。<br>チェックボックスをオフにすると、sitemap.xml自体が出力されないので注意が必要です。</p> <p>出力先は、https://example.com/sitemap.xml (dev環境は、https://example.com/version-test/sitemap.xml ) です。</p> <h2 class="wp-block-heading"><span class="ez-toc-section" id="Scriptmeta_tags_in_header"></span>Script/meta tags in header<span class="ez-toc-section-end"></span></h2> <p>headタグ内に、<code><script></code>、<code><meta></code>、<code><link></code>タグを挿入できます。既存のタグの最後のほう、styleタグの直前あたりに挿入されます。</p> <p>それ以外のタグを書いた場合は、bodyタグの直後に入るので、注意が必要です</p> <p></p> <h2 class="wp-block-heading"><span class="ez-toc-section" id="Script_in_the_body"></span>Script in the body<span class="ez-toc-section-end"></span></h2> <p>bodyタグの直後に、任意のタグを挿入できます。書いた内容がそのまま差し込まれます。</p> <h2 class="wp-block-heading"><span class="ez-toc-section" id="301_Redirections"></span>301 Redirections<span class="ez-toc-section-end"></span></h2> <p>301リダイレクトを設定できます。</p> <p>From URLは <code>https://example.com/version-test/old-page</code> 、To URLは <code>https://example.com/version-test/new-page</code> のように、https:// から指定します。</p> <p>複数指定できます。</p> <p></p> <h2 class="wp-block-heading"><span class="ez-toc-section" id="Hosting_files_in_the_root_directory"></span>Hosting files in the root directory<span class="ez-toc-section-end"></span></h2> <p>ルートディレクトリにファイルを配置できます。格納時のファイル名を指定できます。外部サービスと連携する際に使います。</p> <p><code>example.com/filename</code> や <code>example.com/version-test/filename</code> のようにルート直下に配置されます。dev環境ではversion-testが付きますので注意が必要です。</p> <p>また、削除時にはゴミ箱マークをクリックするだけではファイルが削除されず、Data画面のFile managerタブから該当ファイルを削除しないと表示されるままになってしまうので、注意が必要です。</p> <p></p> <div class="clearfix mb-0"></div> </article> <div class="clearfix"></div> <div class="after-post-tags"> <ul class="post-categories"> <li><a href="https://blog.jansnap.com/?cat=4328" rel="category">Bubble</a></li> <li><a href="https://blog.jansnap.com/?cat=4052" rel="category">nocode</a></li> <li><a href="https://blog.jansnap.com/?cat=4053" rel="category">ノーコード</a></li> <li><a href="https://blog.jansnap.com/?cat=4054" rel="category">ノーコード・ローコード</a></li></ul> <ul class="post-categories aretags"> <li><a href="https://blog.jansnap.com/?tag=bubble">#Bubble</a></li> <li><a href="https://blog.jansnap.com/?tag=nocode">#nocode</a></li> <li><a href="https://blog.jansnap.com/?tag=seo">#SEO</a></li> <li><a href="https://blog.jansnap.com/?tag=%e3%83%8e%e3%83%bc%e3%82%b3%e3%83%bc%e3%83%89">#ノーコード</a></li> </ul> </div> <div class="row mb-5 prevnextlinks justify-content-center align-items-center"> <div class="col-md-6 col-xs-12 rightborder pl-0"><div class="thepostlink">« <a href="https://blog.jansnap.com/?p=6704" rel="prev">「flutter doctor –android-licenses」が返ってこない時の対応方法</a></div></div> <div class="col-md-6 col-xs-12 text-right pr-0"><div class="thepostlink"><a href="https://blog.jansnap.com/?p=6770" rel="next">scrapy 2.6.1 でエラーハンドリングする</a> »</div></div> </div> </div> <div class="col-md-3"> <div id="sidebarposts" class="widget-area" role="complementary"> <aside id="ezw_tco-2" class="widget ez-toc"><div id="ez-toc-widget-container" class="ez-toc-widget-container ez-toc-v2_0_82_2 ez-toc-widget counter-hierarchy ez-toc-widget-container ez-toc-affix ez-toc-widget-direction"> <h4 class="widget-title"><span> <span class="ez-toc-title-container"> <style> #ezw_tco-2 .ez-toc-title{ font-size: 120%; ; ; } #ezw_tco-2 .ez-toc-widget-container ul.ez-toc-list li a{ ; ; ; } #ezw_tco-2 .ez-toc-widget-container ul.ez-toc-list li.active{ background-color: #ededed; } </style> <span class="ez-toc-title-toggle"> <span class="ez-toc-title " >目次 </span><a href="#" class="ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle" aria-label="Widget Easy TOC toggle icon"><span style="border: 0;padding: 0;margin: 0;position: absolute !important;height: 1px;width: 1px;overflow: hidden;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);clip-path: inset(50%);white-space: nowrap;">Toggle Table of Content</span><span class=""><span class="eztoc-hide" style="display:none;">Toggle</span><span class="ez-toc-icon-toggle-span"><svg style="fill: #999;color:#999" xmlns="http://www.w3.org/2000/svg" class="list-377408" width="20px" height="20px" viewBox="0 0 24 24" fill="none"><path d="M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z" fill="currentColor"></path></svg><svg style="fill: #999;color:#999" class="arrow-unsorted-368013" xmlns="http://www.w3.org/2000/svg" width="10px" height="10px" viewBox="0 0 24 24" version="1.2" baseProfile="tiny"><path d="M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z"/></svg></span></span></a> </span> </span> </span></h4> <nav> <ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-1" href="#%E3%80%8CExpose_the_type_of_tags_for_text_elements%E3%80%8D%E3%81%A7h1_h2_h3%E3%82%BF%E3%82%B0%E3%82%92%E5%87%BA%E5%8A%9B%E3%81%99%E3%82%8B" >「Expose the type of tags for text elements」でh1, h2, h3タグを出力する</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-2" href="#Facebook%E3%81%A8Twitter%E3%81%B8%E3%81%AE%E5%AF%BE%E5%BF%9CSocial_Media_Open_Graph_Settings" >FacebookとTwitterへの対応(Social Media / Open Graph Settings)</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-3" href="#%E3%82%BF%E3%82%A4%E3%83%88%E3%83%ABTitle" >タイトル(Title)</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-4" href="#%E3%82%B5%E3%82%A4%E3%83%88%E5%90%8DSite_name" >サイト名(Site name)</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-5" href="#%E6%A6%82%E8%A6%81Description" >概要(Description)</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-6" href="#%E3%82%B5%E3%83%A0%E3%83%8D%E3%82%A4%E3%83%ABThumbnail_used_for_links" >サムネイル(Thumbnail used for links)</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-7" href="#%E3%81%9D%E3%81%AE%E4%BB%96%E3%81%AEmeta%E3%82%BF%E3%82%B0" >その他のmetaタグ</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-8" href="#robotstxt%E3%81%AE%E8%A8%AD%E5%AE%9A" >robots.txtの設定</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-9" href="#sitemapxml%E3%81%AE%E8%A8%AD%E5%AE%9A" >sitemap.xmlの設定</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-10" href="#Scriptmeta_tags_in_header" >Script/meta tags in header</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-11" href="#Script_in_the_body" >Script in the body</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-12" href="#301_Redirections" >301 Redirections</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-13" href="#Hosting_files_in_the_root_directory" >Hosting files in the root directory</a></li></ul></nav> </div> </aside> </div> </div> </div> </div> <div class="hideshare"></div> <div class="graybg"> <div class="container"> <div class="row justify-content-center"> <div class="col-md-8"> <div id="comments" class="comments-area"> <div id="respond" class="comment-respond"> <h3 id="reply-title" class="comment-reply-title">コメントを残す <small><a rel="nofollow" id="cancel-comment-reply-link" href="/?p=6736#respond" style="display:none;">コメントをキャンセル</a></small></h3><form action="https://blog.jansnap.com/wp-comments-post.php" method="post" id="commentform" class="comment-form"><p class="comment-notes"><span id="email-notes">メールアドレスが公開されることはありません。</span> <span class="required-field-message"><span class="required">※</span> が付いている欄は必須項目です</span></p><p class="comment-form-comment"> <textarea required id="comment" name="comment" placeholder="Write a response..." cols="45" rows="8" aria-required="true"></textarea> </p><div class="row"><p class="comment-form-author col-md-4"> <input id="author" name="author" type="text" placeholder="Name" value="" size="30" aria-required='true' /> </p> <p class="comment-form-email col-md-4"> <input id="email" name="email" type="email" placeholder="E-mail address" value="" size="30" aria-required='true' /> </p> <p class="comment-form-url col-md-4"> <input id="url" name="url" type="url" placeholder="Website Link" value="" size="30" /> </p></div> <p class="comment-form-cookies-consent"><input id="wp-comment-cookies-consent" name="wp-comment-cookies-consent" type="checkbox" value="yes" /> <label for="wp-comment-cookies-consent">次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。</label></p> <p class="form-submit"><input name="submit" type="submit" id="submit" class="submit" value="コメントを送信" /> <input type='hidden' name='comment_post_ID' value='6736' id='comment_post_ID' /> <input type='hidden' name='comment_parent' id='comment_parent' value='0' /> </p></form> </div><!-- #respond --> </div><!-- #comments --> </div> </div> </div> </div> </div><!-- /.site-content --> <div class="container"> <footer class="footer"> <p class="pull-left"> <a href="https://www.jansnap.com/contact">Contact</a> | <a href="https://www.jansnap.com/privacy-policy/">Privacy</a> </p> <p class="pull-right"> © <a href="https://jansnap.com">Jansnap</a> 2021 </p> <div class="clearfix"></div> <a href="" class="back-to-top hidden-md-down"> <i class="fa fa-angle-up"></i> </a> </footer> </div> <script id='kirki-viewport-lists'>var kirkiViewports = {"md":{"value":1200,"scale":1,"minWidth":1200,"maxWidth":1200,"title":"Desktop","icon":"desktop","activeIcon":"desktop-hover","id":"md","type":"max"},"tablet":{"value":991,"scale":1,"minWidth":991,"maxWidth":991,"title":"Tablet","icon":"tablet-default","activeIcon":"tablet-hover","type":"max","id":"tablet"},"mobileLandscape":{"value":767,"scale":1,"minWidth":767,"maxWidth":767,"title":"Landscape","icon":"phone-hr-default","activeIcon":"phone-hr-hover","type":"max","id":"mobileLandscape"},"mobile":{"value":575,"scale":1,"minWidth":575,"maxWidth":575,"title":"Mobile","icon":"phone-vr-default","activeIcon":"phone-vr-hover","type":"max","id":"mobile"}};</script><script id='kirki-variable-lists'>var kirkiCSSVariable = {"data":[{"title":"Colors","key":"color","modes":[{"title":"Default","key":"default"}],"variables":[]},{"title":"Numbers","key":"size","modes":[{"title":"Default","key":"default"}],"variables":[]},{"title":"Font Family","key":"font-family","modes":[{"title":"Default","key":"default"}],"variables":[]},{"title":"Text Styles","key":"text-style","modes":[{"title":"Default","key":"default"}],"variables":[]}]};</script><script id="kirki-api-and-nonce"> window.wp_kirki = { ajaxUrl: "https://blog.jansnap.com/wp-admin/admin-ajax.php", restUrl: "https://blog.jansnap.com/index.php?rest_route=/", siteUrl: "https://blog.jansnap.com", apiVersion: "v1", postId: "6736", nonce: "4169881501", call_from: "", templateId: "", context: {"id":6736,"type":"post"} }; </script><script type="text/javascript" src="https://blog.jansnap.com/wp-content/themes/mediumish/assets/js/tether.min.js" id="bootstrap4tether-js"></script> <script type="text/javascript" src="https://blog.jansnap.com/wp-content/themes/mediumish/assets/js/bootstrap.min.js" id="bootstrap4-js"></script> <script type="text/javascript" src="https://blog.jansnap.com/wp-content/themes/mediumish/assets/js/ie10-viewport-bug-workaround.js" id="mediumish-ieviewportbugworkaround-js"></script> <script type="text/javascript" src="https://blog.jansnap.com/wp-content/themes/mediumish/assets/js/masonry.pkgd.min.js" id="mediumish-masonrypkgd-js"></script> <script type="text/javascript" src="https://blog.jansnap.com/wp-content/themes/mediumish/assets/js/mediumish.js" id="mediumish-js"></script> <script type="text/javascript" src="https://blog.jansnap.com/wp-includes/js/comment-reply.min.js?ver=6.9.4" id="comment-reply-js" async="async" data-wp-strategy="async" fetchpriority="low"></script> <script type="text/javascript" src="https://blog.jansnap.com/wp-content/plugins/wp-claps-applause/js/js.cookie.js?ver=2.1.1" id="jquery-cookie-js"></script> <script type="text/javascript" id="wp-claps-applause-js-extra"> /* <![CDATA[ */ var clapsapplause = {"ajax_url":"https://blog.jansnap.com/wp-admin/admin-ajax.php","lovedText":"","loveText":""}; //# sourceURL=wp-claps-applause-js-extra /* ]]> */ </script> <script type="text/javascript" src="https://blog.jansnap.com/wp-content/plugins/wp-claps-applause/js/claps-applause.js?ver=1.0.0" id="wp-claps-applause-js"></script> <script id="wp-emoji-settings" type="application/json"> {"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://blog.jansnap.com/wp-includes/js/wp-emoji-release.min.js?ver=6.9.4"}} </script> <script type="module"> /* <![CDATA[ */ /*! This file is auto-generated */ const a=JSON.parse(document.getElementById("wp-emoji-settings").textContent),o=(window._wpemojiSettings=a,"wpEmojiSettingsSupports"),s=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const a=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===a[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,a){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!a(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,a){let r;const o=(r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),s=(o.textBaseline="top",o.font="600 32px Arial",{});return e.forEach(e=>{s[e]=t(o,e,n,a)}),s}function r(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}a.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),c.toString(),p.toString()].join(",")+"));",a=new Blob([e],{type:"text/javascript"});const r=new Worker(URL.createObjectURL(a),{name:"wpTestEmojiSupports"});return void(r.onmessage=e=>{i(n=e.data),r.terminate(),t(n)})}catch(e){}i(n=f(s,u,c,p))}t(n)}).then(e=>{for(const n in e)a.supports[n]=e[n],a.supports.everything=a.supports.everything&&a.supports[n],"flag"!==n&&(a.supports.everythingExceptFlag=a.supports.everythingExceptFlag&&a.supports[n]);var t;a.supports.everythingExceptFlag=a.supports.everythingExceptFlag&&!a.supports.flag,a.supports.everything||((t=a.source||{}).concatemoji?r(t.concatemoji):t.wpemoji&&t.twemoji&&(r(t.twemoji),r(t.wpemoji)))}); //# sourceURL=https://blog.jansnap.com/wp-includes/js/wp-emoji-loader.min.js /* ]]> */ </script> </body> </html>