MENU

【SWELL】プラグインなしで「追従バナー」を自作!UXに優しくサイトも重くならない実装方法

当ページのリンクには広告が含まれています。
  • URLをコピーしました!

「ブログの成約率を上げたいけれど、ずっと表示されるバナーは読者の邪魔になりそうで不安……」

「ポップアップや追従バナーを入れたいけど、プラグインを入れるとサイトが重くなるのが嫌だ」

WordPressテーマの「SWELL」を使っていると、こんな悩みが出てきませんか?

確かに、常に画面の大部分を占領するバナーは、読者にとってストレスになりやすく、Googleの評価(UX指標)を下げる原因にもなりかねません。

そこで今回は、**SWELLの標準機能と簡単なコピペコードだけ**で、読者にもサイト速度にも優しい「理想の追従バナー」を作る方法を解説します。 今回実装するバナーの特徴は以下の通りです。

  • プラグイン不要:サイトの読み込み速度を落としません。
  • スクロールで表示:記事を読み始めてから「ふわっ」と出てくるので邪魔になりません。
  • 閉じる(×)ボタン付き:不要な読者は自分で消せる親切設計です。
  • ページ移動で復活:そのページで閉じても、別の記事ではまた案内ができるので機会損失を防げます。

「コードなんて触ったことがない」という初心者の方でも、指定の場所に貼り付けるだけで完了するように解説しますので、ぜひ一緒に設定していきましょう!

目次

なぜプラグインを使わないのか

追従バナーやポップアップを実装するプラグインはたくさんありますが、実はデメリットも少なくありません。

1. サイトが重くなる:外部のファイルを読み込むため、表示速度に悪影響が出やすい。

2. デザインが浮く:SWELLの洗練されたデザインに馴染ませるのが難しい。

3. 管理が大変:プラグインのアップデートのたびに不具合の心配がある。

SWELLには「高度な設定」という、コードを安全に挿入できる場所があらかじめ用意されています。これを利用することで、テーマを汚さず、最小限の記述でプロ級のバナーを実装できるんです。

具体的な実装ステップ

準備するもの

バナー画像: 横長のもの(例:1200×300pxなど)をWebP形式などで圧縮して用意。

リンク先URL: 飛ばしたい先のURL。

実装手順

SWELLのカスタマイザーを開き、

「高度な設定」→「bodyタグ終了直前に出力するコード」

に以下のコードを貼り付けるだけです。

【コピペ用】実装コード(自己責任でお願いします。

#### 【コピペ用】実装コード
```html
<!-- UX配慮型 固定バナー(ページ移動で再表示) -->
<div id="smart-fixed-banner" style="display: none; opacity: 0;">
    <button id="banner-close-btn" aria-label="閉じる">×</button>
    <a href="https://ここにリンク先のURL">
        <img src="https://ここに画像のURL" alt="キャンペーン案内">
    </a>
</div>

<style>
/* -------------------------------------------
 * バナー全体のデザイン
 * ------------------------------------------ */
#smart-fixed-banner {
    position: fixed !important;
    bottom: 20px; /* 下からの距離 */
    left: 50%;
    transform: translateX(-50%);
    z-index: 999999;
    width: 90%;
    max-width: 400px; /* 最大横幅 */
    line-height: 0;
    transition: opacity 0.4s ease, transform 0.4s ease;
    pointer-events: auto;
}

/* 表示された時に適用されるスタイル */
#smart-fixed-banner.is-visible {
    opacity: 1 !important;
}

#smart-fixed-banner img {
    width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
}

/* 閉じるボタンのデザイン */
#banner-close-btn {
    position: absolute;
    top: -12px;
    right: -12px;
    width: 32px;
    height: 32px;
    background: #444;
    color: #fff;
    border: 2px solid #fff;
    border-radius: 50%;
    cursor: pointer;
    font-size: 20px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000001;
}

/* スマホ用の位置調整(SWELLの固定メニューがある場合) */
@media (max-width: 959px) {
    #smart-fixed-banner {
        bottom: 75px; 
        width: 88%;
    }
}
</style>

<script>
(function() {
    window.addEventListener('DOMContentLoaded', function() {
        const banner = document.getElementById('smart-fixed-banner');
        const closeBtn = document.getElementById('banner-close-btn');
        const showThreshold = 400; // 400pxスクロールしたら表示
        let isManuallyClosed = false; 

        window.addEventListener('scroll', function() {
            if (isManuallyClosed) return;

            if (window.scrollY > showThreshold) {
                if (banner.style.display === 'none') {
                    banner.style.display = 'block';
                    setTimeout(() => banner.classList.add('is-visible'), 10);
                }
            } else {
                banner.classList.remove('is-visible');
                setTimeout(() => { 
                    if(!banner.classList.contains('is-visible')) banner.style.display = 'none'; 
                }, 400);
            }
        });

        closeBtn.addEventListener('click', function(e) {
            e.preventDefault();
            isManuallyClosed = true; 
            banner.classList.remove('is-visible');
            setTimeout(() => { banner.style.display = 'none'; }, 400);
        });
    });
})();
</script>
```

カスタマイズのポイント(解説)

表示タイミングを変えたい: `showThreshold = 400` の数値を大きくすれば、もっとスクロールしないと出ないようになります。

スマホの位置を調整したい: `@media` 内の `bottom: 75px` を変えることで、SWELLのメニューとの被りを調整できます。 * **

ページ移動で再表示させたくない場合: 「今回は利便性を考えて、ページ移動で復活するように設計しています」

まとめ

プラグインを使わないのでサイトが重くならない。

×ボタンがあることでユーザーにストレスを与えない。

SWELLの「高度な設定」を活用すれば、テーマを直接いじらず安全にカスタマイズできる。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA

目次