๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
SEO

๋‹ค๋ฅธ ์‚ฌ์ดํŠธ, ๋ธ”๋กœ๊ทธ ์ตœ์‹ ๊ธ€์„ ์ด์šฉํ•ด์„œ ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ๋กœ ํ‘œ์‹œํ•˜๊ธฐ

๋ฐ˜์‘ํ˜•

ํ‹ฐ์Šคํ† ๋ฆฌ ๋ธ”๋กœ๊ทธ์— ์ตœ์‹ ๊ธ€ ๋ชฉ๋ก ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•

ํ‹ฐ์Šคํ† ๋ฆฌ ์Šคํ‚จ์œผ๋กœ ๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ์˜ ์ตœ์‹  ๊ธ€ ์ž๋™ ํ‘œ์‹œํ•˜๊ธฐ

๋ธ”๋กœ๊ทธ ์ตœ์‹ ๊ธ€ ๋ชฉ๋ก ์ฝ”๋“œ ํ™œ์šฉ๋ฐฉ๋ฒ•

๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ์˜ ์ตœ์‹ ๊ธ€์„ ๋ถˆ๋Ÿฌ์™€์„œ ๋ธ”๋กœ๊ทธ์˜ ๋ฉ”์ธ ํ™”๋ฉด์„ ๊พธ๋ฏธ๋Š” ๋ฐฉ๋ฒ•์€ ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์ด๋ฏธ์ง€, ๋™์˜์ƒ, ์ตœ๊ทผ ๊ธ€ ๋ชฉ๋ก ๋“ฑ์„ ํ†ตํ•ด ๋ธ”๋กœ๊ทธ๋ฅผ ๋”์šฑ ํ’์„ฑ ๋‹ค์ฑ„๋กญ๊ฒŒ ๊พธ๋ฐ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์‚ฌ์ดํŠธ๋‚˜ ์„œ๋ธŒ ๋ธ”๋กœ๊ทธ์˜ ์ตœ์‹  ๊ธ€ ๋ชฉ๋ก์„ ํ‘œ์‹œํ•ด ์ฃผ๋ฉด ๋ฐฉ๋ฌธ์ž๊ฐ€ ์‰ฝ๊ฒŒ ๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ๋กœ ์•ˆ๋‚ด๋ฅผ ํ•ด์ค„์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฐฉ๋ฌธ์ž์˜ ์ฒด๋ฅ˜ ์‹œ๊ฐ„์„ ๋Š˜๋ ค์ค„์ˆ˜ ์žˆ๊ณ  ๋”๋ถˆ์–ด ๋ฐฑ๋งํฌ์˜ ํšจ๊ณผ๋„ ๋ณผ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•„๋ž˜ ๋‚ด์šฉ์€ ์‰ฝ๊ฒŒ ํ‹ฐ์Šคํ† ๋ฆฌ ๋ธ”๋กœ๊ทธ ๊ธฐ๋ณธ ์Šคํ‚จ์„ ํ™œ์šฉํ•ด์„œ ๋‹ค๋ฅธ ์‚ฌ์ดํŠธ๋‚˜ ๋ธ”๋กœ๊ทธ์˜ ์ตœ์‹ ๊ธ€ ๋ชฉ๋ก์„ ํ‘œ์‹œํ•ด ์ฃผ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

ํ‹ฐ์Šคํ† ๋ฆฌ ๋ฉ”์ธ ๋ฆฌ์ŠคํŠธ ๊พธ๋ฏธ๊ธฐ

๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ ๋˜๋Š” ์‚ฌ์ดํŠธ์˜ RSS ์ •๋ณด๋ฅผ ์ด์šฉํ•ด์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ฉ”์ธ ํ™”๋ฉด์˜ ๊พธ๋ฐ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ๊ธฐ์กด์˜ ํ‹ฐ์Šคํ† ๋ฆฌ BOOK ์Šคํ‚จ์˜ ๊ธฐ๋ณธ ๋ฆฌ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ํ™œ์šฉํ•ด์„œ ์ œ๋ชฉ๊ณผ ๊ธ€๋‚ด์šฉ .๊ธ€ ๋‚ ์งœ๋ฅผ ๋ฉ”์ธ ํ™”๋ฉด์— ์ตœ์‹ ๊ธ€ ๋ชฉ๋ก ํ˜•ํƒœ๋กœ ๋…ธ์ถœ์‹œํ‚ฌ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ตœ์‹ ๊ธ€ ๋ชฉ๋ก ์ฝ”๋“œ

๋ธ”๋กœ๊ทธ ์ตœ์‹ ๊ธ€ ๋ชฉ๋ก ์ฝ”๋“œ
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆํŽ˜์ด์ง€ ๊ธฐ๋ณธ ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ ๊ธ€ ๋ชฉ๋ก

[ ์ž๋™ ๊ธ€ ๋ชฉ๋ก ์ž‘์„ฑ ] ์ž๋™์œผ๋กœ ๊ธ€ ๋ชฉ๋ก ์ž‘์„ฑํ•ด์ฃผ๋Š” TOC ์™€ JS ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

์ž๋™ ๊ธ€ ๋ชฉ๋ก ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ๋น„๊ต๋ธ”๋กœ๊ทธ ๊ธ€์„ ์ž‘์„ฑํ•  ๋•Œ ์ž๋™์œผ๋กœ ๊ธ€ ๋ชฉ๋ก์„ ์ž‘์„ฑํ•ด์ฃผ๋Š” ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํŽธ๋ฆฌํ•˜๊ณ  ๋น ๋ฅด๊ฒŒ ๊ธ€์„ ๊ตฌ์กฐํ™” ํ• ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„ ์ž๋™ ๊ธ€ ๋ชฉ๋ก ์ž‘์„ฑ์— ๋งŽ์ด ์‚ฌ์šฉ

everydayhub.tistory.com

ํ™ˆ ์ปค๋ฒ„ ๊ธฐ๋ณธ ๋ฆฌ์ŠคํŠธ ๊ธฐ๋ณธ ์ฝ”๋“œ

ํ‹ฐ์Šคํ†  ์Šคํ‚จ์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋ณธ ๋ฆฌ์ŠคํŠธ HTML ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.

<s_cover name='cover-list'>
 <div class="cover-list">
 <h2></h2>
 <ul>
 <s_cover_item>
 <li>
 <a href="">
 <span class="title"></span> <span class="excerpt"></span> <s_cover_item_article_info>
 <span class="date"></span> </s_cover_item_article_info>
 </a>
 </li>
 </s_cover_item>
 </ul>
 </div>
 </s_cover>

ํ™ˆ ์ปค๋ฒ„ ๊ธฐ๋ณธ ๋ฆฌ์ŠคํŠธ ์ˆ˜์ • ์ฝ”๋“œ

ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ์Šคํ‚จ์„ ๋ณ€๊ฒฝํ•ด์„œ ์•„๋ž˜ ์ฝ”๋“œ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ์ฝ”๋“œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ RSS ์ •๋ณด๋ฅผ ์ด์šฉํ•ด์„œ ๊ธฐ๋ณธ ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ๋กœ ์ถœ๋ ฅํ•ด ์ค๋‹ˆ๋‹ค.

<s_cover name='cover-list'>
    <div class="cover-list">
        <ul id="cover-items">
        </ul>
    </div>
</s_cover>

ํ™ˆ ์ปค๋ฒ„ ๊ธฐ๋ณธ ๋ฆฌ์ŠคํŠธ RSS ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ

์ด ์ฝ”๋“œ๋Š” RSS ์ฃผ์†Œ๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ์‚ฌ์ดํŠธ๋‚˜ ๋ธ”๋กœ๊ทธ์˜ ์ตœ์‹  ๊ธ€์„ ์ž๋™์œผ๋กœ ๋ถˆ๋Ÿฌ์˜ค๋Š” JavaScript์ž…๋‹ˆ๋‹ค. RSS URL์„ ์ˆ˜์ •ํ•˜์—ฌ ์›ํ•˜๋Š” ๋ธ”๋กœ๊ทธ์˜ ์ตœ์‹  ๊ธ€์„ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    <script defer="defer">
    async function fetchRSS() {
        const rssUrl = 'https://api.rss2json.com/v1/api.json?rss_url=https://everydayhub.tistory.com/rss';

        try {
            const response = await fetch(rssUrl);
            const { items } = await response.json();

            const coverItemsList = document.getElementById('cover-items');
            const limitedItems = items.slice(0, 5);

            limitedItems.forEach(item => {
                const coverItem = document.createElement('div');
                coverItem.className = 'cover-item';
                const listItem = document.createElement('li');
                const link = document.createElement('a');
                link.href = item.link;
                link.target = '_blank';

                const titleDiv = document.createElement('div');
                titleDiv.className = 'title';
                titleDiv.innerHTML = item.title;

                const excerptDiv = document.createElement('div');
                excerptDiv.className = 'excerpt';
                excerptDiv.innerHTML = item.description;

                if (excerptDiv.innerHTML.length > 200) {
                    excerptDiv.innerHTML = excerptDiv.innerHTML.substring(0, 200) + '...';
                }

                const dateDiv = document.createElement('div');
                dateDiv.className = 'date';
                dateDiv.innerHTML = new Date(item.pubDate).toLocaleDateString();

                const articleInfo = document.createElement('div');
                articleInfo.className = 'article-info';
                const dateSpan = document.createElement('span');
                dateSpan.appendChild(dateDiv);
                articleInfo.appendChild(dateSpan);

                link.appendChild(titleDiv);
                link.appendChild(excerptDiv);
                link.appendChild(articleInfo);

                listItem.appendChild(link);
                coverItem.appendChild(listItem);
                coverItemsList.appendChild(coverItem);
            });
        } catch (error) {
            console.error('RSS ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์ค‘ ์˜ค๋ฅ˜ ๋ฐœ์ƒ:', error);
        }
    }

    fetchRSS();
    </script>

ํ™ˆ ์ปค๋ฒ„ ์Šคํ‚จ์˜ ๊ธฐ๋ณธ ๋ฆฌ์ŠคํŠธ CSS

ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋ฆฌ์ŠคํŠธ์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” CSS ์ž…๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝํ•ด์„œ ์‚ฌ์šฉํ•˜์‹œ๋ฉฐ ๋ฉ๋‹ˆ๋‹ค.

.cover-list {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin-bottom: 42px;
}
.cover-list h2 {
    margin-bottom: 35px;
    padding-bottom: 19px;
    border-bottom: 1px solid #eee;
    font-weight: 500;
    font-size: 1em;
    color: #555;
}

.cover-list ul li {
    overflow: hidden;
    margin-bottom: 33px;
}

.cover-list ul li a {
    display: block;
    text-decoration: none;
}

.cover-list ul li .title {
    display: block;
    overflow: hidden;
    max-width: 95%;
    margin-bottom: 6px;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 1.25em;
    line-height: 1.4;
}

.cover-list ul li .excerpt {
    display: block;
    overflow: hidden;
    max-width: 95%;
    margin-bottom: 18px;
    text-overflow: ellipsis;
    font-size: 0.875em;
    line-height: 1.5rem;
    color: #999;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.cover-list ul li .date {
    display: block;
    font-size: 0.75em;
    color: #999;
}
๋ฐ˜์‘ํ˜•

'SEO' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๋น™๊ฒ€์ƒ‰ ์—”์ง„์—์„œ [ ALT ํŠน์„ฑ์ด ์ •์˜๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค] ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•  (3) 2024.11.13
๊ตฌ๊ธ€ PageSpeed Insights ๋งํฌ ํฌ๋กค๋ง ์˜ค๋ฅ˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• - SEO ์„ฑ๋Šฅ ํ–ฅ์ƒ  (0) 2024.11.12
[์ธ๋ฑ์Šค๋‚˜์šฐ ] ์›น์‚ฌ์ดํŠธ ๊ฐฑ์‹  ์ •๋ณด๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ฒ€์ƒ‰์—”์ง„์—๊ฒŒ ์•Œ๋ ค ์ฃผ๋Š” ํŒ ์†Œ๊ฐœ  (3) 2024.11.11
๊ธ€ ์• ๋“œ์„ผ์Šค ์ค‘๋ณต ์ฝ”๋“œ๋กœ ๋ฐœ์ƒํ•œ Uncaught Tag Error ์˜ค๋ฅ˜ ์ˆ˜์ •ํ•˜๊ธฐ  (4) 2024.11.09
๊ฒ€์ƒ‰ ์—”์ง„ ์ตœ์ ํ™”(SEO)์—์„œ CSS ์ดˆ๊ธฐํ™”๊ฐ€ ์ค‘์š”ํ•œ ์ด์œ ์™€ ๋ฐฉ๋ฒ•  (1) 2024.11.08
๋™์˜์ƒ ์ž๋™ ์ƒ์„ฑํ•˜๋Š” ์ฝ˜ํ…์ธ  ์‚ฝ์ž…๊ณผ ์Šคํ‚จ ์ˆ˜์ •์œผ๋กœ ๋ฐฉ๋ฌธ์ž ํ™œ์„ฑํ™” ํ•˜๊ธฐ  (1) 2024.11.07
[๊ฒ€์ƒ‰์—”์ง„ ์ตœ์ ํ™”] " ๋งํฌ์— ์ธ์‹ ๊ฐ€๋Šฅํ•œ ์ด๋ฆ„์ด ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์Œ " ์˜ค๋ฅ˜ ํ•ด๊ฒฐํ•˜๊ธฐ  (4) 2024.11.03