SEO FOR DJANGO WEBSITE

Improve SEO for my django website.

optimization SEO django with seo and Web design|lower


SEO FOR DJANGO WEBSITE

1. Generate meta tags in the head:

<head>

{% if items.details %}

<title>{{items.title}}</title>

<meta property="og:title" content="{{items.title}}">

<meta name="description" content="{{items.details|safe|striptags}}, {{items.al.als.als|lower}} and {{items.al.al|lower}}.">

{% else %}

<title>Have a problem</title>

<meta name="description" content="Common problems solution in IT, web network technology development, coding and software engineering areas.">

<meta property="og:title" content="Problem's database">

{% endif %}

2. To check the mobile optimisation use search.google.com/test/mobile-friendly

3. Mark up your text to have rich results. To test it use search.google.com/test/rich-results // I am not sure what mark up and structured data is about. It kind of some google meta data analog.

It makes me to put some other's website url into my webpage's tags properties. I don't like this idea.

4. Avoid grammar mistakes. Install spellchecker.

5. I need references from trusted pages (without rel=nofollow etc ).

6. Use pagespeed.web.dev to measure speed.

7. Images and description should have original value. In the future I have to generate it from the text automatically.

8. Use <section> tag above of <p> is a good idea.

 

Made a custom 404 page is an advantage but set noindex is mandatory.

9. Class names with a meaning.

ADD SITEMAP

If you unable to update sitemap file regulary it may hurt your SEO. So in this case better to not create sitemap at all.

CEO from google search console.

10. Links are not traceable. Means I have <a> tag without href. Change them to <span>.

11. Create robot.txt in url.py:

urlpatterns += path('robots.txt', TemplateView.as_view(template_name="robots.txt", content_type="text/plain")),

Add robots.txt in template folder.

12. Use pagespeed.web.dev to analize website.

13. Add <link rel="canonical" href="https://outleys.site">

14. Set all buttons size not less then 48x48px // set min-height: 48px

15. Set strong Content Security Policy to avoid XSS.

<meta http-equiv="Content-Security-Policy" content="default-src 'self' " />

16. For images set width and height.

17. Set long cache time for static files.

18. Add lang attribute to html tag

19. Text not less then 12px

USE CEO CHECK FROM CHROME DEVTOOLS LIGHTBOX

19. I have problem with PWA.

20. Doesn't set color for the address bar. Use <meta name="theme-color" content="#FF00FF"> // Its fancy stuf for android.

20.1. Then add web app manifest (manifest.json file). // <link rel="manifest" href="/manifest.json">

20.2. Add to manifest icons 192x192 and 512x512

21. Add apple touch icon <link rel="apple-touch-icon" href="/static/apl.png">

22. Add maskable icon to manifest. Use maskable.app/editor to create an icon.

23. Set background_color in manifest. 

24. Set stat_url

25. Set display property to browser.

26. Add service worker.

26. Create file to register service worker register-sw.js // Type navigator.serviceWorker.register('/static/service-worker.js')

INCREASE PERFORMANCE.

1. Delete unused parts js. Use devtools->More tools->Coverage

2. Made scripts to load async <script src="" async>

2.1. How to made scripts async in joomla?

2.1.1. Try to in template index.php: $this->addScript('https://wsite.com/templates/mytemplate/js/script.js', 'text/javascript', false, true);

2.1.2 Go to  /libraries/joomla/document/renderer/html/head.php and comment out string with if($strAttr['async']){} 

2.1.3. Add $buffer .= ' async> </script> // no 

2.1.4. Add async in all places with <script  // It works but I've got problems with admin and I've got a lot of errores when jquery is async.

2.15. Override class in template:

use Joomla\CMS\Plugin\CMSPlugin;

class PlgSystemExample extends CMSPlugin

{

    protected $app;

    public function onBeforeCompileHead()

    {

        foreach ($this->app->getDocument()->_scripts as &$script)

        {

           $script['async'] = true; 

        }

    }

}

 

USE google rich-results test

27. Add structured data tags. Consult with schema.org/Recipe

27.1. Add wrap tag like <article itemscope itemtype="https://schema.org/Recipe">

27.2. Add varios properties tag like <h1 itemprop="name">Pancakes</h1>

28. Made breadcrumbs rich itemscope itemtype="http://schema.org/BreadcrumbList

29. Add all possible microdata from schema

 

HOW TO AVOID CLS PROBLEM

1. I have to find out what cause CLS.

1.1. It may be an image without dimensions. It is not my case.

1.2. Maybe it is hiding menu. Try to fix menu on screen then check CLS.

 

USE google mobile-friendly

 

LINKS

30. Add to archive.org

31. Add to signatures to forums.

32. Twitter, Insta, FB, Utube, responses like mail, pintrest, reddit, blogspot, photohostings(flickr), wordpress.com, medum, fl.ru , habr, twich, ok, tg

33. hh

34. Add to Chrome bookmarks

35. Make inner interlinking

36. Try to refer trusted resource.

 

TRICKS

1. Try QA style

2. Use noscript ta

3. Add to all ya services

4. Redirect to https

5. Redirect from www to https

5.1. Go to .htaccess

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.site.ru$ [NC]

RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]

// I get 500 error

5.2. Try to :

RewriteEngine On

...here goes some existed redirect from http to https then new rule

RewriteCond %{HTTP_HOST} ^www\. [NC]

RewriteRule .* https://outleys.site%{REQUEST_URI} [R,L]

6. Split big text into chapters

7. Meet html5 standard

8.  Enforce end / redirect:

RewriteCond %{REQUEST_URI} /(.+)/$

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^ https://outleys.site/%1 [R=301,L]

9. Microtags for images

10. Keep url short

11. Use ya recomended request

12. Add <meta http-equiv="content-type" content="text/html; charset=UTF-8">

13. Check grammar

14. Minimize JS usage for mobile

15. Add og metatags

16. Use class names with http://microformats.org/wiki

17.  Take care of tables responsiveness

18. One article one theme

19. Analyze competitors.

20. Experiment with key freq

21. Good to have translations. It is for sure like <link href="https://outleys.site/ru" rel="alternate" hreflang="ru-RU">

22. Title matter much more then H1 and description.

23. To improve user experience add more images to articles with bad stat.

24. Load images async

25. Try to add some LGBTQ-friendly stuff.

25.1 Use "non-binary" term.

25.2. Add lgbtq images.

25.3. Add some articles with title contained LGBTQ+ freindly something. And add this meta to main page.

25.4. Use meta-tags "gay", "lesbian", "transgender".

 

 

YA LOW DEMANDED PAGES

1. I have to figure out how to avoid.

 

 

NO INDEX BY GOOGLE AND BING PROBLEM

1. New site not indexed by google. Bing writes "url can't be shown bcuz some problems".

2. I have to find the reason. Try transparencyreport.google.com/safe-browsing/search // sites which is halfyear old pass. Sites which is younger "have no data"  // May be the problem with age but I have to proceed investigation.

3. 

 

SEMANTICS

1. High freq to main level, average freq to category, low freq to article

 

TRUST

1. Add company

2. Add author microdata

 

Try foreign server

 

3. Page has no logical tab order

4. Interactive controls are keyboard focusable.

5. Interactive elements indicate their purpose and state.

6. The user focus is directed to new content added to the page.