-
Notifications
You must be signed in to change notification settings - Fork 0
펀잇 SEO 개선하기
구글에 펀잇 혹은 편의점을 검색했을 때 우리 서비스는 노출되지 않는다.. 🥺
검색으로 유입을 모을 수 있을 것이라고 생각되어 SEO 개선을 해보기로 했다.
![스크린샷 2023-10-04 오후 4 08 22](https://private-user-images.githubusercontent.com/55427367/273130593-198120ec-057c-40a9-8be9-cf97e68e530a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwMDk0MTMsIm5iZiI6MTczOTAwOTExMywicGF0aCI6Ii81NTQyNzM2Ny8yNzMxMzA1OTMtMTk4MTIwZWMtMDU3Yy00MGE5LThiZTktY2Y5N2U2OGU1MzBhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDEwMDUxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk1ODM0NjMzZTU2MTQxZTJmYjIxNTdhNzc0ODQ0NmM0OGUyODQ1NWNiMGYwMGQxZDAzYzVjM2QzNzVkMjAyMmMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.cy1RjBxmIqhNsBSQBw1f8v6jh4SsNdf7pPo7KUwjU9g)
구글 서치 콘솔을 사용하면 얼마나 검색이 잘 되고 있는지 유입에 대한 정보를 얻음과 동시에 사이트맵 제출을 통해 SEO 개선을 도와준다고 한다. 이를 이용하기 위해서는 우리 서비스를 등록해야 한다.
![스크린샷 2023-10-04 오후 4 45 14](https://private-user-images.githubusercontent.com/55427367/273130672-5c010d43-6b5b-4fab-845b-e483c37aad94.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwMDk0MTMsIm5iZiI6MTczOTAwOTExMywicGF0aCI6Ii81NTQyNzM2Ny8yNzMxMzA2NzItNWMwMTBkNDMtNmI1Yi00ZmFiLTg0NWItZTQ4M2MzN2FhZDk0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDEwMDUxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQ4MTg4ZjdkM2UxMGRkM2VkMWRmMTA1YTM5OGZjMzhiNTQwYWQ1N2I4ZTM3NTIyNjRkMjFkOTcyMzYxZTg4ZDgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.3CP-ucbb0F1LCqz55boOn9BAUrhRiB_fF9gKN0lvx-I)
서비스 URL을 등록하기 위해서는 소유권 확인 절차가 필요하다. (아무래도 아무나 서비스 정보에 접근하면 안되니까..)
![스크린샷 2023-10-04 오후 4 46 36](https://private-user-images.githubusercontent.com/55427367/273130689-6f1d9a50-140a-4696-8def-8aecea2f0560.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwMDk0MTMsIm5iZiI6MTczOTAwOTExMywicGF0aCI6Ii81NTQyNzM2Ny8yNzMxMzA2ODktNmYxZDlhNTAtMTQwYS00Njk2LThkZWYtOGFlY2VhMmYwNTYwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDEwMDUxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWVlYmNmYzg1YTRiZDdmYTBkNjM3NWY4OGQyMjAwODk3ZGYyYjllMWJkMWYwZDA1MGY4MTVhOTA5ZWQ3Nzg2OGEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.vvaKNmA1liLpHG-LWT3s23luj8IQnk-yi3UZau37sEE)
도메인을 통해 소유권 확인을 누르게 되면 이런 화면이 나오는데 도메인 제공 업체에 들어가서 해당 레코드를 DNS 설정에 복사하면 된다. (우리는 가비아를 통해 구입했기 때문에 가비아에 등록했다.)
이 설정을 하고 1~2분 후에 확인을 누르면 바로 인증이 완료된다.
![스크린샷 2023-10-06 오후 3 55 57](https://private-user-images.githubusercontent.com/55427367/273130943-f1464e9f-4cf7-4549-afb9-697d61aebfa0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwMDk0MTMsIm5iZiI6MTczOTAwOTExMywicGF0aCI6Ii81NTQyNzM2Ny8yNzMxMzA5NDMtZjE0NjRlOWYtNGNmNy00NTQ5LWFmYjktNjk3ZDYxYWViZmEwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDEwMDUxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk2YTYyODZiYmNlODA3MTgyMTA0YzFkNTE0MDJmZTYyOTkxYmUxNTVhM2U0NmNlYTEyODFhNzJkNjVkNWUxMDYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.i9fgv84m_HGhngl0oGX2nicfCkrHqwNc_QC3OruKFj0)
시간이 좀 지나고 확인 하면 노출 수, 클릭수, 평균 게재순위 등을 확인할 수 있다.
![스크린샷 2023-10-06 오후 3 57 33](https://private-user-images.githubusercontent.com/55427367/273130930-53a05bf5-373c-46aa-8bac-efe0e8271a70.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwMDk0MTMsIm5iZiI6MTczOTAwOTExMywicGF0aCI6Ii81NTQyNzM2Ny8yNzMxMzA5MzAtNTNhMDViZjUtMzczYy00NmFhLThiYWMtZWZlMGU4MjcxYTcwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDEwMDUxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWI0NTY1NTMxNDM3ZDQ2NDk1YTMzODRhNzU3MThjZDkwMzc4YWNiOTc1OTRhMjE5NmQ5MWJmZDg5MjNmOTlhM2UmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.0qczuHKeOd_nDDnv8GeyI-4ideD-ImdjQmWlUUR2-JE)
하단의 표에서는 사용자가 어떤 검색어를 입력해서 노출이 몇 번 되었는지, 해당 키워드로 몇 번 들어왔는지도 확인할 수 있다.
sitemap은 사이트에 있는 페이지, 동영상 및 기타 파일과 그 관계에 관한 정보를 제공하는 파일로 크롤봇은 해당 파일을 읽고 사이트를 더 효율적으로 크롤링 할 수 있게 된다. sitemap에서는 우리 서비스에서 중요하다고 생각되는 페이지나 파일을 알리는 것이 중요하다.
나는 이 사이트를 이용하여 기본적인 sitemap 구조를 만들었다. 그리고 urlset
태그 아래에 url
태그를 사용하여 우리 서비스에서 중요한 상품 목록이나 레시피 페이지를 포함해서 최종적인 xml 파일을 만들었다.
<?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://funeat.site</loc>
<lastmod>2023-09-25T05:39:39+00:00</lastmod>
</url>
<url>
<loc>https://funeat.site/products/food</loc>
<lastmod>2023-09-25T05:39:39+00:00</lastmod>
</url>
<url>
<loc>https://funeat.site/products/store</loc>
<lastmod>2023-09-25T05:39:39+00:00</lastmod>
</url>
<url>
<loc>https://funeat.site/recipes</loc>
<lastmod>2023-09-25T05:39:39+00:00</lastmod>
</url>
</urlset>
sitemap 작성이 끝나면 아까 등록했던 구글 서치 콘솔에 제출하면 된다.
![스크린샷 2023-10-06 오후 3 55 25](https://private-user-images.githubusercontent.com/55427367/273131116-9225b56b-8308-47ca-8470-3dc22f0d123c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwMDk0MTMsIm5iZiI6MTczOTAwOTExMywicGF0aCI6Ii81NTQyNzM2Ny8yNzMxMzExMTYtOTIyNWI1NmItODMwOC00N2NhLTg0NzAtM2RjMjJmMGQxMjNjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDEwMDUxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWRmZmJiMzc5NTgzNzZhZGRlMmQ1NzFlZTFjZWQyNzNkODFjNzg0MGI2MWFhMjc0MmNhYzhhMzI2ZjI2Y2RkZTAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.avZ9pdMPokJaAf6FZPfCwuvcweI5zgbICdmnyKzj9XE)
robots.txt 파일은 크롤러가 사이트에서 액세스할 수 있는 URL을 검색엔진 크롤러에 알려 준다.
User-agent
에는 허용할 크롤러 봇들의 목록을 작성할 수 있다. 와일드카드를 사용하여 모든 봇을 허용할 수도 있다.
Allow
와 Disallow
를 사용하여 크롤링을 허용할 페이지들을 설정할 수 있다.
Sitemap
을 통해 sitemap의 위치를 알려준다.
User-agent: *
Disallow: /404
Allow: /
# Host
Host: https://funeat.site/
# Sitemaps
Sitemap: https://funeat.site/sitemap.xml
메타 태그는 웹페이지의 주요 정보를 담고있다. 크롤러봇은 메타태그에서 해당 사이트에 대한 추가적인 정보를 얻게 된다. 또한, 검색 페이지에서 당 서비스에 대한 소개를 간략하게 보여줄 수도 있다.
title
, description
, og
등의 메타 태그를 작성할 수 있다. 이 중에서 og
는 오픈 그래프 태그를 의미하는데 링크를 공유할 때 아래와 같이 미리보기로 어떤 내용을 노출할지 결정한다.
![스크린샷 2023-10-04 오후 5 05 46](https://private-user-images.githubusercontent.com/55427367/273131209-4d21e992-8c22-4e74-8dde-ea2154f2eca9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwMDk0MTMsIm5iZiI6MTczOTAwOTExMywicGF0aCI6Ii81NTQyNzM2Ny8yNzMxMzEyMDktNGQyMWU5OTItOGMyMi00ZTc0LThkZGUtZWEyMTU0ZjJlY2E5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDEwMDUxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWJlMWYyYzNhNzNmNWFhYjAzMDJhNzdlZTE2ZWRkYzBmZDFjNGUyMGVjNzdhMWZmODc4MmYwOTRlNmY3ZjE2OTEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.EM9Fps1ColV_bEP6c7dIMSHMPROGVZDoNCagcpxuWbc)
<meta property="og:title" content="펀잇" />
작성할 때는 이렇게 property를 작성할 때 앞에 og:
를 붙여주면 된다.
전에는 대충 사이트맵, robots.txt 작성 등 추상적으로만 알고 있었는데 어떤 역할을 하는지 알게 되니까 어떤 식으로 작성해야 할 지 더 쉽게 감이 잡혔다. 라이브러리 없이 리액트에서 SEO를 개선할 수 있는 방법을 알아 보았는데 만약 개선이 되지 않는다면 react-helmet 같은 라이브러리도 알아봐야 할 것 같다.
https://fe-developers.kakaoent.com/2022/221208-basic-seo-guide/
https://developers.google.com/search/docs/crawling-indexing/sitemaps/overview?hl=ko
https://developers.google.com/search/docs/crawling-indexing/robots/create-robots-txt?hl=ko
- 📚 프론트엔드 개발 문서
- 🌏 브라우저 지원 범위
- 🧪 프론트엔드 테스트 전략
- [웹 접근성] a tag와 button의 차이는 무엇일까?
- multipart
- SvgSprite 컴포넌트 사용하기
- [INFRA] 프론트엔드 CI/CD 구축
- [기술 검토] 리액트 쿼리 도입 이유
- [기술] 로그인 기능 도입기
- 🐛 S3 배포 캐싱 오류
- 이미지를 위한 S3와 Cloudfront 설정하기
- 📓 성능리포트 ‐ 펀잇 서비스 최적화하기
- 펀잇 SEO 개선하기
- 📚 백엔드 개발 문서
- intellij에서 private DB 연결하기
- [INFRA 0] 전체 infra 구조 - ver1
- [INFRA 1] infra 서버 세팅
- [INFRA 2] 백엔드 CI/CD 구축
- [INFRA 3] 백엔드 DB 연결
- [INFRA 4] 깃허브 PR 라벨을 기준으로 젠킨스 빌드하기
- [LOG] 로그 세팅
- [Trouble Shooting] 일관된 테스트 격리 적용하기
- [Trouble Shooting] 프록시로 동작하는 @Transactional, 전파 옵션 관리