레이블이 #Know-How인 게시물을 표시합니다. 모든 게시물 표시

장고(Django)로 웹사이트를 만들고 난 후 구글 서치콘솔(Google Search Console), 네이버 웹마스터도구에 사이트맵을 등록해줘야 합니다. 이는 기본적으로 웹마스터 도구를 운영하는 회사에서 권장하는 방식입니다. 블로그 같은 경...


장고(Django)로 웹사이트를 만들고 난 후 구글 서치콘솔(Google Search Console), 네이버 웹마스터도구에 사이트맵을 등록해줘야 합니다. 이는 기본적으로 웹마스터 도구를 운영하는 회사에서 권장하는 방식입니다.

블로그 같은 경우는 자신의 URL 뒤에 'sitemap.xml'을 붙이면 그만이지만 (Ex. https://surfinryu.blogspot.com/sitemap.xml) 장고의 경우에는 따로 설정해줘야 하는 부분이 있습니다. 오늘은 사이트맵 생성 방법에 대해 알아보겠습니다.

먼저 제반설정 혹은 필요사항에 대해 알려드립니다.
  • 작업 폴더는 앱 폴더가 아닌 기본 파일 폴더입니다. (Ex. mysite, base 등) 
  • 많은 장고 튜토리얼에서는 poll, blog 앱을 생성하는 것을 알려줍니다. Blog App 생성 튜토리얼 중 blog내 models.py에서 reverse 함수를 사용해야 합니다. (아래 사진 참조)


▲reverse 함수를 사용해야 sitemaps.py에서 url 생성이 가능


1. settings.py 설정


1-1. INSTALLED_APPS = [] 사이에 사진과 같은 값을 넣어줍니다.

#Sitemap
 'django.contrib.sites',
 'django.contrib.sitemaps',

1-2. INSTALLED_APPS = [] 아래에 'SITE_ID = 1' 을 추가해줍니다.

#Sitemap
    SITE_ID = 1


2. sitemap.py 설정


먼저 위에 사진을 설명해드리면, 1-2줄은 settings에서 등록한 sitemaps를 불러오고, url 생성을 위한 reverse 함수를 불러옵니다. 이후 클래스는 각 앱의 models에서 정의한 함수를 불러오고, 그에 맞는 url 생성 클래스를 작성합니다.

2-1. mysite 폴더에 sitemaps.py를 생성합니다.

2-2.
from django.contrib.sitemaps import Sitemap
from django.urls import reverse

2-3. 생성한 앱에 맞는 sitemap 클래스를 생성해줍니다.
저는 posts라는 앱과 products라는 앱을 생성하였고, 이때 각 models.py에서 Ardexpost, Product 라고 클래스를 정의하였습니다. 예시로 Products 앱을 등록하는 걸로 하고 진행해보겠습니다. (위에 제반설정에 말씀드린 것과 같이 Products 앱에는 url 정의를 받아오는 reverse 함수를 사용하여 작성하였습니다.)

     class ProductSitemap(Sitemap):
         def items(self):
             return Product.objects.all()


2-4. (선택사항) 만약 어플리케이션을 만들지 않고 단일 html 파일을 만들고 static 파일에 저장하신 경우, static sites 역시 등록이 가능합니다. 예시로 'about-us'라는 사이트를 만들었다고 가정합니다.

     class StaticViewSitemap(Sitemap):
         def items(self):
             return ['about-us']
         def location(self, item):
             return reverse(item)


3. urls.py 설정


3-1. Sitemaps.py에 작성한 클래스를 등록해줍니다. 저희는 예시로 ProductSitemap을 등록하셨던 것 아시죠?

from mysite.sitemaps import ProductSitemap
from django.contrib.sitemaps.views import sitemap

3-2. (2-4.를 진행한 경우) about-us 사이트를 등록한 경우에는 다음과 같이 추가 작성해주세요. 저 같은 경우에는 mysite가 기본 폴더이기에 mysite.views에 mysite_views라고 생성하였습니다.

from mysite import views as mysite_views
from mysite.sitemaps import StaticViewSitemap

3-3. sitemaps = {} 안에 생성한 클래스를 적어줍니다. (static을 생성하지 않으신 분은 3번째 줄을 삭제해주세요.)

sitemaps = {
    'products': ProductSitemap,
    'static': StaticViewStitemap,
}

3-4. urlpatterns = []에 다음과 같이 넣어줍니다.

path('sitemap.xml', sitemap, {'sitemaps': sitemaps}),

3-5. (선택사항) static을 넣으신 경우에는 사이트 주소를 추가해줍니다.

path('assets/sites/about-us.html', mysite_views.about, name='about-us'),


4. (선택사항) views.py 설정
StaticViewSitemap을 설정하신 경우만 진행해주세요.


4-1. Static sites를 생성하신 경우에는 views에 따로 정의를 해줘야 합니다.

def about(request):
    return render(request, 'static/sites/about-us.html') 


5. admin에서 사이트 주소 변경

python3 manage.py makemigrations product
python3 manage.py migrate
python3 manage.py runserver

admin으로 들어가면 아래와 같이 'SITES'라고 생성된 것을 확인하실 수 있습니다. 이곳에서 등록할 도메인을 작성하시고 저장하시면 됩니다.
이후 http://도메인.co.kr/sitemap.xml을 주소창에 넣으시면 사이트 맵이 정상적으로 생성된 것을 확인하실 수 있습니다.



▲ 사이트맵 생성 완료


도움이 되셨기를 바랍니다 🙇‍♀️
감사합니다.



배너 제작이나, 영상 제작 시 일러스트 작업은 필수입니다. 그런데, 일러스트 작업할 때마다 굉장히 짜증나는 일이 있습니다. 조금만 확대해서 도형을 가이드라인에 맞출라고 하거나, 위치 조정을 하려고 하면 회색 박스가 모니터 화면을 다 가리게 ...



배너 제작이나, 영상 제작 시 일러스트 작업은 필수입니다. 그런데, 일러스트 작업할 때마다 굉장히 짜증나는 일이 있습니다. 조금만 확대해서 도형을 가이드라인에 맞출라고 하거나, 위치 조정을 하려고 하면 회색 박스가 모니터 화면을 다 가리게 되죠. 10초만 투자해서 더이상 회색박스로 부터 고통받지 않도록 합시다.


 1. 일러스트을 킵니다. 저는 아무 일러스트 파일을 불러와 보았습니다.


2. Ctrl+K 혹은 환경설정 (Preferences)로 들어갑니다.


3. Preferences → Smart Guide → Measurement Labels를 체크해제 합니다.


4. Preferences 창을 닫고 테스트를 해봅니다. 회색박스가 안뜹니다.



후.. 속 시원

 예전에는 Windows가 영문이 아니라서 발생하는 문제라는 글을 본 이후에는 작업 컴퓨터를 영문으로 전환하여 사용했지만, 이보다 더 간편한 해결방법이 있었네요. 아무쪼록 도움이 되셨기를 바랍니다.

요즘 틈만나면 데이터 관련 공부를 하고 있기에 블로그를 통 들어오지 못했다. 그러던 와중 심심해서 점심시간을 이용해 Google AdSense를 들어가 봤는데... 경고 문구가 하나 떠 있었다.  수익 손실 위험 - 수익에 심각한 영향을 미...


요즘 틈만나면 데이터 관련 공부를 하고 있기에 블로그를 통 들어오지 못했다.
그러던 와중 심심해서 점심시간을 이용해 Google AdSense를 들어가 봤는데... 경고 문구가 하나 떠 있었다. 

수익 손실 위험 - 수익에 심각한 영향을 미치지 않도록 사이트에서 발견된 ads.txt 파일 문제를 해결해야 합니다.

Ads.txt 가이드를 살펴보면, ads.txt를 https://사이트명.com/ads.txt 링크에 업로드를 시켜야 한다. 개인 서버를 통해 블로그를 운영하시는 분들은 텍스트 파일을 업로드하시면 되지만, 구글 블로그를 운영하시는 분이라면 아주 간단히 진행할 수 있다.
(아무 생각 없이 구글 블로그에 txt 파일을 업로드 했다가 실패했던 건 비밀이다.)

일단, 경고창에 있는 '지금 해결하기' 버튼을 누른 뒤 'ads.txt 파일 만들기'에 있는 다운로드 버튼을 눌러 txt 파일을 받는다.

txt 파일은 google.com / pub-게시자ID / DIRECT / 변수 구조로 되어있다. 이 코드를 업로드 할 필요없이 설정창에서 붙여넣기만 해주면 된다.


Google Blogger 관리창

다음으로 위의 사진을 참조하여 구글 블로그 관리창 -> 설정 -> 수익 창출 -> 맞춤 ads.txt 란으로 이동한다. 사진 상에는 '[사용]'으로 되어있지만, 구글 에드센스에서 경고창을 마주하신 분들은 '사용 안함'으로 되어있다.


코드 삽입은 txt파일 안에 있는 코드를 복사 -> 붙여넣기 하면 끝

아까 다운로드 받은 텍스트 파일의 코드를 복사 붙여넣기 후, 변경사항 저장 버튼만 눌러주면 해결.


도움이 되셨길 바랍니다.


참조: https://support.google.com/adsense/answer/7532444?hl=ko
 


텀블러에서 원하는 테마를 적용시키고 GA Tracking Code를 넣기 위해 테마 편집 -> HTML 편집 -> GA Code Input 단계를 이행했다. 미리 보기 -> 저장을 누르는데…? ‘Uh oh! we ...

텀블러에서 원하는 테마를 적용시키고 GA Tracking Code를 넣기 위해
테마 편집 -> HTML 편집 -> GA Code Input 단계를 이행했다.
미리 보기 -> 저장을 누르는데…?


image


‘Uh oh! we couldn’t save your theme..?
이게 뭐지 싶었다.

모든게 처음이고 정보가 실린 블로그 포스트도 시간이 오래되어
알맞은 정보가 없었던 터라 영어로 구글을 검색해보다 나온 해결책.
같은 어려움을 겪을 여러분께 공유하고자 한다.

1. HTML 편집기에서 Ctrl + F를 누른 후 Search for에 ‘https’를 Replace to에 ‘특정 단어’를 넣는다. (Ex. seaweed, chicken)
2. All를 클릭하여 모두 바꾼다.
3.  Search for에 ‘http’를 Replace to에 ‘특정 단어’를 넣는다.
4.  Search for에 ‘특정 단어’를 Replace to에 ‘https’를 넣는다.
5. 이후 업데이트 미리보기 -> 저장하면 성공적으로 편집이 완료된다.



image