https://search.google.com/u/1/search-console?hl=ko
저흰 가비아여서 가비아에서 TXT 설정을 하겠습니다
저희는 기다려도 작동이 되지 않아 CNAME으로 다시 설정해주었습니다
CNAME으로 하니 몇분 지나지 않아 바로 확인이 되었습니다 👍
https://searchadvisor.naver.com/
https://searchadvisor.naver.com/console/board
저희는 head에 메타를 추가하는 방식으로 하려고 합니다
새롭게 빌드할때 마다 sitemap.xml을 최신으로 업데이트해주기 위해 자바스크립트 코드로 sitemap을 생성하도록 코드를 작성했습니다
페이지의 종류는 사이트 크롤링을 할 때 로그인하지 않고 접근할 수 있는 곳만 넣어주었습니다.
const fs = require('fs');
const prettier = require('prettier');
const SitemapGeneratedDate = new Date().toISOString();
const DOMAIN = 'https://votogether.com';
const formatting = target => prettier.format(target, { parser: 'html' });
const pages = ['/', '/login', '/ranking','/posts/:id'].map(page => DOMAIN + page);
const pageSitemap = pages
.map(
page => `
<url>
<loc>${page}</loc>
<lastmod>${SitemapGeneratedDate}</lastmod>
</url>
`
)
.join('');
const generateSiteMap = `
<?xml version="1.0" encoding="UTF-8"?>
<urlset
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
${pageSitemap}
</urlset>`;
const formattedSitemap = formatting(generateSiteMap);
fs.writeFileSync('../../public/seo/sitemap.xml', formattedSitemap, 'utf8');
<?xml version="1.0" encoding="UTF-8"?>
<urlset
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"
>
<url>
<loc>https://votogether.com/</loc>
<lastmod>2023-09-13T01:36:47.392Z</lastmod>
</url>
<url>
<loc>https://votogether.com/login</loc>
<lastmod>2023-09-13T01:36:47.392Z</lastmod>
</url>
<url>
<loc>https://votogether.com/ranking</loc>
<lastmod>2023-09-13T01:36:47.392Z</lastmod>
</url>
</urlset>
크롤링하는 검색 엔진에게 404를 제외한 모든곳에 접근해도 된다고 알려주었습니다.
# *
User-agent: *
Disallow: /404
# *
User-agent: *
Allow: /
# Host
Host: https://votogether.com/
# Sitemaps
Sitemap: https://votogether.com/sitemap.xml
빌드가 되기 전 사이트맵을 생성하고 빌드되도록 합니다.
"scripts": {
"prebuild": "cd src/utils && node generateSiteMap.js",
"build": "webpack --config webpack.prod.js",
웹팩에서 CopyPlugin을 설치 후 사용해서 public/seo 폴더에 있는 것을 빌드 폴더 내로 이동시키게 했습니다
plugins: [
...,
new CopyPlugin({
patterns: [
{ from: 'public/seo', to: './' },
],
}),
...
],
https://im-designloper.tistory.com/85 (package.json에서 pre 이용 방법)
https://darrengwon.tistory.com/922 (robots.txt, sitemap.xml 설정 방법)
https://developers.google.com/search/docs/fundamentals/seo-starter-guide?hl=ko&sjid=5577292879708842696-AP&visit_id=638301749563581852-2723621879&rd=1 (검색엔진 최적화(SEO) 기본 가이드)