პროგრამის კოდის ოპტიმიზაციის ტექნიკა. პროგრამის კოდის ოპტიმიზაცია. პროგრამისტისა და შემდგენელის მიერ კოდის ოპტიმიზაციის ძირითადი შესაძლებლობები ოპტიმიზაციაში რამდენიმე მნიშვნელოვანი პუნქტია

მოგესალმებით, ძვირფასო მეგობრებო, ბლოგის საიტს. მომხმარებლების უმეტესობა საიტებს აღიქვამს მხოლოდ გარედან, აფასებს დიზაინსა და სტრუქტურას, მაგრამ მიმზიდველი გარე კომპონენტების მიღმა დგას მრავალი შიდა კანონი და წესი, რომლებიც განისაზღვრება W3C სტანდარტებით. შიდა კომპონენტები მოიცავს html კოდს და CSS სტილებს (ცალკე ფუნქციონირების გარეშე). ხშირად ვებმასტერებს უფრო მეტად აწუხებთ საიტის გარე პრეზენტაცია. თუმცა, HTML კოდის სახით გვერდების შიდა შინაარსი ასევე მოითხოვს ყურადღებას, განსაკუთრებით მაშინ, როდესაც საქმე ეხება საძიებო ტრაფიკის მოზიდვას.

წარმატებული ონლაინ პოპულარიზაცია მოითხოვს ვებსაიტის კარგ შიდა ოპტიმიზაციას. რა თქმა უნდა, საძიებო სისტემებისთვის ოპტიმიზაცია პრომოაციის დაწყებამდე მნიშვნელოვანი პუნქტია. ვებსაიტის პოპულარიზაცია ბმულების გამოყენებით ოპტიმიზაციის გარეშე არ იქნება ეფექტური და შეიძლება ზიანი მიაყენოს მისი ტრაფიკის შემცირებით. ამავდროულად, აუცილებელია ყველა არსებული პრობლემისა და ხარვეზის იდენტიფიცირება, რაც ნებისმიერ ეტაპზე შეუძლია ყველა მიღწევის უარყოფა. ვებსაიტის html კოდი შეიძლება იყოს ასეთი სუსტი ბმული.

საიტის კოდის ანალიზი შეიძლება განხორციელდეს სხვადასხვა ვალიდატორების გამოყენებით. თვითშეფასებისთვის, თქვენ უნდა გამორთოთ ფაილები სტილებით და სკრიპტებით. ასე ხედავენ მათ საძიებო რობოტები. თუ საიტი ნელა იტვირთება, არასწორად გამოჩნდება და საძიებო სისტემები ვერ იგებენ გვერდების ლოგიკას, აუცილებლად შეექმნება პრობლემები. რესურსის კოდი უნდა გაუმჯობესდეს.

ვებსაიტის კოდების ოპტიმიზაცია განიხილება წმინდა ტექნიკურ პროცესად, რომელიც ეფუძნება ვებგვერდის კოდის რაოდენობის შემცირებას. ეს აუცილებელია, უპირველეს ყოვლისა, იმ რესურსებისთვის, რომლებისთვისაც საძიებო სისტემები ტრაფიკის მთავარი წყაროა. მთავარი წესი სიმარტივეა. ყველა სტილი და სკრიპტი უნდა გადავიდეს გარე ფაილებში. კოდი უნდა იყოს რაც შეიძლება მსუბუქი და ძალიან გასაგები.

საძიებო რობოტებმა სწრაფად უნდა შეაფასონ გვერდის სტრუქტურა. ამიტომ, უმჯობესია არ გამოიყენოთ ჩარჩოები და ფლეშები. ეს ელემენტები წონას მატებს კოდს, რაც მას უფრო რთულს ხდის. ასევე ჩადეთ დიზაინის ყველა ელემენტი css სტილის ფაილებში და დაფორმატეთ ისინი sprites-ად. საიტის შესაბამისობის დონე და გვერდის ინდექსირების სიჩქარე დამოკიდებულია კოდის სიმარტივეზე. დიდი ტრაფიკის მქონე დიდი რესურსებისთვის, კოდის ოპტიმიზაცია სავალდებულო პროცედურაა. ამავდროულად, აუცილებელია თუნდაც გვერდების ოპტიმიზაცია, რომელთა ზომა არ აღემატება 1 მბ-ს.

საიტის კოდის ოპტიმიზაციის ძირითადი ეტაპები
  • სათაურების ხაზგასმა h1-h6 - მოძებნეთ რობოტები ზოგადად, ასე რომ არ დაივიწყოთ ტექსტის სწორი ფორმატირება.
  • კოდის ზომის შემცირება – რაც ნაკლები კოდი, მით უფრო ადვილი და სწრაფად იტვირთება გვერდი. ბოლო დროს, გვერდის ჩატვირთვის სიჩქარე გახდა მნიშვნელოვანი რეიტინგის ფაქტორი Google-ის შედეგებში, როგორც ოფიციალურად გამოცხადდა.
  • მავნე კოდის წაშლა - ბევრ ჰოსტინგის საიტს აქვს ანტივირუსული განყოფილება, რომელიც ასკანირებს საიტის ფაილებს და მიუთითებს მათი გადაჭრის გზაზე. მავნე კოდის არარსებობა საიტს საძიებო სისტემებზე უპირატესობას ანიჭებს.
  • ვებსაიტის შიდა ოპტიმიზაცია არის უნიკალური ტექსტის შექმნა, რომელიც მხარს უჭერს საკვანძო სიტყვების საჭირო სიმკვრივეს.
  • - თანაბრად ანაწილებს გვერდების წონას და ზრდის ტრაფიკს დაბალი სიხშირის მოთხოვნებისთვის, განსაკუთრებით ახალი შინაარსის დამატებისას.
  • მეტა თეგების დამატება – სათაური, საკვანძო სიტყვები და აღწერა გამოიყენება ნამუშევრების მიერ და ნაჩვენებია საძიებო სისტემის შედეგების გვერდებზე. სწორად შედგენილი მეტა-ტეგები ზრდის გვერდების აქტუალურობას და იზიდავს მომხმარებლებს.
  • სურათების ოპტიმიზაცია - თითოეულ სურათს უნდა ჰქონდეს ოპტიმალური ფორმატი (GIF, JPEG, PNG და PNG-24), ისევე როგორც alt და სათაური.
საიტის კოდის მოქმედების ვადა

ვალიდობა არის კოდის შესაბამისობა ზოგადად მიღებულ გლობალურ W3C სტანდარტებთან. ვებსაიტის არასწორი კოდი, რომელიც შეიცავს ბევრ შეცდომას, შეიძლება გახდეს დაბრკოლება გარკვეული რესურსის პოპულარიზაციისთვის. თუ ყველა დაწყვილებული ტეგი არ არის დახურული, შესაძლოა პრობლემები წარმოიშვას დიზაინის ელემენტების ჩვენებასთან დაკავშირებით. მაგრამ სინამდვილეში, უმსხვილესი საძიებო სისტემების ვებსაიტებიც კი არ არის 100% მოქმედი. რა არის ამ შეუსაბამობის მიზეზი?

  • შრომის ინტენსივობის მაღალი ხარისხი საიტის სტანდარტიზებისას და დეველოპერის განსაკუთრებული პროფესიონალიზმის საჭიროება დიდი დინამიური საიტის დამოწმებისას.
  • html კოდის 100% მოქმედების გარანტია არ იძლევა ბრაუზერის ჯვარედინი თავსებადობას და ასევე არ იცავს შეცდომებისგან ძველი ბრაუზერების გამოყენებისას.

თუმცა, მცირე რესურსებისთვის, html კოდის ვალიდობა შესანიშნავი ბონუსია ყველაზე კონკურენტუნარიანი მოთხოვნების რეიტინგისთვის და ის ასევე აჩვენებს რესურსის სერიოზულობას.

კასკადური სტილის ფურცლების ოპტიმიზაცია

html კოდის ოპტიმიზაციის მსგავსად, სტილის ოპტიმიზაცია (CSS) არის თანაბრად მნიშვნელოვანი აქტივობა, რომელიც შეუმჩნეველი რჩება მრავალი ვებმასტერისთვის. CSS კოდის ოპტიმიზაცია ასევე აჩქარებს ვებგვერდის გვერდების ჩატვირთვას და დაზოგავს ტრაფიკს. ვინაიდან css ფაილი იწონის 100 კბ-მდე, ბევრი ვებმასტერი ვერ ხედავს მისი ოპტიმიზაციის აუცილებლობას, მაგრამ თუ დაფიქრდებით იმაზე, თუ რამდენს ზოგავს ტრაფიკის ფაილის ოპტიმიზაცია წელიწადში, მიხვდებით, რამდენად არ არის შეფასებული.

შეგიძლიათ CSS-ის ოპტიმიზაცია ხელით ან სპეციალური სერვისების გამოყენებით. თითოეულ ვარიანტს აქვს ნაკლი. საიტის კოდის ხელით ოპტიმიზაციისას, თქვენ შეგიძლიათ დაკარგოთ ბევრი დრო და დაკარგოთ ბევრი დრო. თუმცა, მანქანის ოპტიმიზაციამ შეიძლება წაშალოს ხაზები, რომელთა გარეშეც დიზაინი შეიძლება სწორად არ იყოს ნაჩვენები.

კოდირების დაყენება

კიდევ ერთი წერტილი, რომელიც გავლენას ახდენს ვებსაიტის პოპულარიზაციაზე, არის კოდირება. რუსულენოვანი ტექსტი სწორად იქნება ნაჩვენები მხოლოდ იმ შემთხვევაში, თუ კოდირება სწორად არის კონფიგურირებული, მაგალითად, Windows-1251 ან utf-8. თუ შინაარსი არასწორად არის კოდირებული, სიმბოლოები და სიმბოლოები დამახინჯდება, რაც გამოიწვევს ვიზიტორების დაკარგვას და ნელი ინდექსირებას.

დაშიფვრებთან დაკავშირებული პრობლემები დამახასიათებელია ძველი რესურსებისთვის, სადაც გვერდები იქმნებოდა ისეთი ინსტრუმენტებით, როგორიცაა Notepad და კოდი ინახებოდა სხვადასხვა ფორმატში. ზოგიერთ თანამედროვე ბრაუზერს არ შეუძლია ასეთი კოდირების ამოცნობა.

ვებსაიტის შიდა ოპტიმიზაცია

უმეტეს შემთხვევაში, კომპეტენტურ შიდა რესურსების ოპტიმიზაციას შეუძლია ვებსაიტის მიყვანა საძიებო სისტემის საუკეთესო პოზიციებზე მნიშვნელოვანი ძალისხმევის გარეშე და იმუშაოს ბმულების გაცვლასთან. ყველა პატარა დეტალი, რომელიც გავლენას ახდენს მის პოზიციაზე, მნიშვნელოვანია. შეეცადეთ შექმნათ სტრუქტურა, რომელიც გასაგები იქნება როგორც მომხმარებლისთვის, ასევე საძიებო სისტემებისთვის. მრავალგვერდიანი პორტალები უნდა შეიცავდეს სისტემატიზებულ სექციებს, რომლებშიც ყველა გვერდი დაშორებულია არაუმეტეს 3-4 დაწკაპუნებით. მიზანშეწონილია გამოიყენოთ breadcrumb ბილიკები და ადამიანის მიერ წაკითხული ვებ მისამართები. სამწუხაროდ, ყველა CMS სკრიპტს არ აქვს ეს ფუნქცია.

დასკვნა

ვებსაიტის წარმატებული პოპულარიზაციის ტექნიკური ასპექტი იხსნება ოპტიმიზებული html კოდის საშუალებით. საძიებო სისტემები აფასებენ საიტის გვერდებს განსხვავებულად, ვიდრე მომხმარებლები, ამიტომ სუფთა, მოქმედი კოდით შეიძლება აიძულოს თქვენი რესურსი ძიების შედეგებში, სადაც მხოლოდ რამდენიმე პოზიცია ზოგჯერ გადამწყვეტია.

ვიმედოვნებ, რომ მასალა გამოადგება ჩემს ძვირფას მკითხველს. გამოიწერეთ ბლოგის განახლებები. მადლობელი ვიქნები ღილაკების დაჭერისთვის და ამ მასალის ხელახლა გამოქვეყნებისთვის. შევხვდებით შემდეგ სტატიებში. წარმატებები ყველას.

და გაზარდეთ ეფექტურობა. ოპტიმიზაციის მიზნები მოიცავს კოდის რაოდენობის შემცირებას, პროგრამის მიერ გამოყენებული ოპერატიული მეხსიერების რაოდენობას, პროგრამის დაჩქარებას და შეყვანის/გამომავალი ოპერაციების რაოდენობის შემცირებას.

მთავარი მოთხოვნა, რომელიც ჩვეულებრივ დაწესებულია ოპტიმიზაციის მეთოდზე, არის ის, რომ ოპტიმიზებულ პროგრამას უნდა ჰქონდეს იგივე შედეგი და გვერდითი ეფექტები შეყვანის მონაცემების იმავე ნაკრებზე, როგორც არაოპტიმიზებული პროგრამა. თუმცა, ამ მოთხოვნამ შეიძლება არ ითამაშოს განსაკუთრებული როლი, თუ ოპტიმიზაციის გამოყენების შედეგად მიღებული მოგება შეიძლება ჩაითვალოს უფრო მნიშვნელოვანად, ვიდრე პროგრამის ქცევის შეცვლის შედეგები.

ოპტიმიზაციის სახეები

კოდის ოპტიმიზაცია შეიძლება განხორციელდეს ან ხელით პროგრამისტის მიერ ან ავტომატურად. ამ უკანასკნელ შემთხვევაში, ოპტიმიზატორი შეიძლება იყოს ან ცალკე პროგრამული ინსტრუმენტი ან ჩაშენებული კომპილატორში (ე.წ. ოპტიმიზაციის შემდგენელი). გარდა ამისა, უნდა აღინიშნოს, რომ თანამედროვე პროცესორებს შეუძლიათ ოპტიმიზაცია მოახდინონ კოდის ინსტრუქციების შესრულების თანმიმდევრობით.

არსებობს ისეთი ცნებები, როგორიცაა მაღალი დონის და დაბალი დონის ოპტიმიზაცია. მაღალი დონის ოპტიმიზაციას ძირითადად ახორციელებს პროგრამისტი, რომელსაც შეუძლია აბსტრაქტულ ერთეულებთან (ფუნქციები, პროცედურები, კლასები და ა.შ.) ფუნქციონირება და პრობლემის გადაჭრის ზოგადი მოდელის წარმოდგენა, შეუძლია სისტემის დიზაინის ოპტიმიზაცია. ოპტიმიზაცია საწყის კოდის ელემენტარული სამშენებლო ბლოკების დონეზე (მარყუჟები, განშტოებები და ა.შ.) ასევე ჩვეულებრივ კლასიფიცირდება როგორც მაღალი დონე; ზოგიერთი განასხვავებს მათ ცალკეულ („შუა“) დონეზე (N. Wirth?). დაბალი დონის ოპტიმიზაცია ხდება წყაროს კოდის მანქანის ინსტრუქციების ნაკრებად გადაქცევის ეტაპზე და ხშირად ეს ეტაპი ექვემდებარება ავტომატიზაციას. თუმცა, ასამბლეის ენის პროგრამისტები თვლიან, რომ ამაში ვერც ერთი მანქანა ვერ აჯობებს კარგ პროგრამისტს (თუმცა ყველა თანხმდება, რომ ცუდი პროგრამისტი მანქანებს კიდევ უფრო გააუარესებს).

ოპტიმიზირებული ტერიტორიის შერჩევა

კოდის ხელით ოპტიმიზაციისას კიდევ ერთი პრობლემაა: თქვენ უნდა იცოდეთ არა მხოლოდ როგორ გააკეთოთ ოპტიმიზაცია, არამედ სად გამოიყენოთ იგი. როგორც წესი, სხვადასხვა ფაქტორების გამო (ნელი შეყვანის ოპერაციები, განსხვავებები ადამიანის ოპერატორისა და მანქანის სიჩქარეში და ა.შ.), კოდის მხოლოდ 10% იკავებს შესრულების დროის 90%-ს (რა თქმა უნდა, ეს განცხადება. საკმაოდ სპეკულაციურია და აქვს საეჭვო საფუძველი პარეტოს კანონში, თუმცა საკმაოდ დამაჯერებლად გამოიყურება ე.ტანენბაუმში). ვინაიდან დამატებითი დრო უნდა დაიხარჯოს ოპტიმიზაციაზე, შესაბამისად, იმის ნაცვლად, რომ მთელი პროგრამის ოპტიმიზაცია შეეცადოთ, უკეთესი იქნებოდა შესრულების დროის ამ „კრიტიკული“ 10%-ის ოპტიმიზაცია. კოდის ასეთ ნაწილს უწოდებენ ბოთლს ან ბოთლს და მის დასადგენად გამოიყენება სპეციალური პროგრამები - პროფილერები, რომლებიც საშუალებას გაძლევთ გაზომოთ პროგრამის სხვადასხვა ნაწილის მუშაობის დრო.

სინამდვილეში, პრაქტიკაში, ოპტიმიზაცია ხშირად ხორციელდება "ქაოტური" პროგრამირების ეტაპის შემდეგ (მათ შორის, როგორიცაა "", "ჩვენ ამას მოგვიანებით გავარკვევთ", "ეს მოხდება") და, შესაბამისად, არის ნაზავი. ფაქტობრივი ოპტიმიზაცია, რეფაქტორირება და კორექტირება: გამარტივება "ფანტასტიკური" კონსტრუქციები - როგორიცაა strlen(path.c_str()), ლოგიკური პირობები (a.x != 0 && a.x != 0) და ა.შ. პროფილები ძნელად შესაფერისია ასეთი ოპტიმიზაციისთვის. ამასთან, ასეთი ადგილების აღმოსაჩენად შეგიძლიათ გამოიყენოთ პროგრამები - ინსტრუმენტები სემანტიკური შეცდომების საპოვნელად, წყაროს კოდის ღრმა ანალიზის საფუძველზე - რადგან, როგორც მეორე მაგალითიდან ჩანს, არაეფექტური კოდი შეიძლება იყოს შეცდომების შედეგი (როგორიცაა ბეჭდვითი შეცდომები ამ მაგალითში - სავარაუდოდ, a.x იგულისხმებოდა != 0 && a.y != 0). კარგი აღმოაჩენს ასეთ კოდს და აჩვენებს გამაფრთხილებელ შეტყობინებას.

ოპტიმიზაციის ზიანი და სარგებელი

პროგრამირებაში თითქმის ყველაფერს რაციონალურად უნდა მივუდგეთ და ოპტიმიზაცია არ არის გამონაკლისი. ითვლება, რომ გამოუცდელი ასამბლეის პროგრამისტი, როგორც წესი, წერს კოდს, რომელიც 3-5-ჯერ უფრო ნელია, ვიდრე შემდგენელის მიერ გენერირებული კოდი (Zubkov). არსებობს ფართოდ ცნობილი გამოთქმა ადრეული, საკმაოდ დაბალი დონის (როგორიცაა ბრძოლა დამატებითი ოპერატორის ან ცვლადისთვის) ოპტიმიზაციებთან დაკავშირებით, რომელიც ჩამოყალიბებულია კნუტის მიერ: „ნაადრევი ოპტიმიზაცია არის ყველა პრობლემის საფუძველი“.

ადამიანების უმეტესობას არ აქვს პრეტენზია ოპტიმიზატორის მიერ განხორციელებულ ოპტიმიზაციებთან დაკავშირებით და ზოგჯერ ზოგიერთი ოპტიმიზაცია პრაქტიკულად სტანდარტული და სავალდებულოა - მაგალითად, კუდის რეკურსიის ოპტიმიზაცია ფუნქციურ ენებზე (კუდის რეკურსია არის რეკურსიის სპეციალური ტიპი, რომელიც შეიძლება შემცირდეს მარყუჟის ფორმა).

თუმცა, უნდა გვესმოდეს, რომ მრავალრიცხოვანმა კომპლექსურმა ოპტიმიზაციამ მანქანის კოდის დონეზე შეიძლება მნიშვნელოვნად შეანელოს კომპილაციის პროცესი. უფრო მეტიც, მათგან მიღებული მოგება შეიძლება იყოს უკიდურესად მცირე სისტემის საერთო დიზაინის ოპტიმიზაციებთან შედარებით (Wirth). ასევე არ უნდა დაგვავიწყდეს, რომ თანამედროვე, სინტაქსურად და სემანტიკურად დახვეწილ ენებს ბევრი დახვეწილობა აქვთ და პროგრამისტი, რომელიც მათ არ ითვალისწინებს, შეიძლება გაოცდეს ოპტიმიზაციის შედეგებით.

მაგალითად, განვიხილოთ C++ ენა და ე.წ. Return-Value Optimization, რომლის არსი იმაში მდგომარეობს, რომ შემდგენელმა შეიძლება არ შექმნას ფუნქციით დაბრუნებული დროებითი ობიექტის ასლები. ვინაიდან შემდგენელი ამ შემთხვევაში "გამოტოვებს" კოპირებას, ამ ტექნიკას ასევე უწოდებენ "Copy elision". ასე რომ, შემდეგი კოდი:

#include struct C ( C() () C(const C&) ( std::cout li.

ახლა, უკეთესი იდეისთვის, შევეცადოთ შევქმნათ სწორად ოპტიმიზებული გვერდის განლაგება.

Გვერდის სათაური

  • კატეგორია 1
  • კატეგორია 2
    • კატეგორია 2.1
    • კატეგორია 2.2
  • კატეგორია 3
Გვერდის სათაური

ძირითადი შინაარსი ტეგების გამოყენებით -, , , ,
,

.

გვერდითი ბლოკი დამატებითი ინფორმაციით. ...

კიდევ რა არის გასათვალისწინებელი ვებსაიტის SEO განლაგებისას
  • ვალიდაციის შეცდომების დიდმა რაოდენობამ შეიძლება ცუდი გავლენა მოახდინოს გვერდზე. არ არის მიზანშეწონილი ცარიელი ტეგებისა და css, js ფაილების გამოყენება, რომლებიც არ გამოიყენება გვერდზე. რაც უფრო მსუბუქია კოდი, მით უფრო ადვილია საძიებო სისტემების გაანალიზება.
  • არ უნდა გამოიყენოთ ფლეშ და ჩარჩოები, რომლებიც ძალიან არამეგობრულია საძიებო სისტემებისთვის. ასევე, საძიებო სისტემები არ ცნობენ ტექსტს, რომელიც დახატულია სურათის გამოყენებით.
  • საიტის ბრაუზერის ფუნქციონირება გავლენას ახდენს მომხმარებლის ქცევაზე და აიძულებს მათ დატოვონ საიტი საჭირო ინფორმაციის მიღების ან შესყიდვის გარეშე. შედეგად უარესდება ქცევითი ფაქტორები, რაც გავლენას ახდენს მთელი საიტის ოპტიმიზაციაზე.
  • საიტის მობილური ვერსიის არსებობა ან მისი რეაგირება გახდა რეიტინგის ფაქტორი და, ბრაუზერის ჯვარედინი თავსებადობის მსგავსად, შეუძლია შეამციროს bounce rate და გაზარდოს საიტის კონვერტაცია მობილურ მოწყობილობებზე. გუგლმა დაიწყო მობილური ვერსიის არსებობის გათვალისწინება 2015 წელს (მობილურებისთვის მოსახერხებელი), ხოლო Yandex-მა 2016 წელს, რეიტინგის ალგორითმს უწოდა "ვლადივოსტოკი".
  • გვერდის ძირითადი შინაარსი საწყისთან უფრო ახლოს უნდა განთავსდეს html კოდში, ამიტომ საძიებო სისტემის თვალსაზრისით უფრო აქტუალური იქნება.
  • კონტენტი არ უნდა იყოს დამალული ეკრანის გამოყენებით: არცერთი.
  • მიუხედავად იმისა, რომ ტეგები შეიძლება გამოყენებულ იქნას საკვანძო სიტყვის მნიშვნელობის გასაზრდელად, მას ასევე შეიძლება ჰქონდეს უარყოფითი ეფექტი, თუ ზოგიერთი ტეგი ერთმანეთს ემთხვევა, მაგ.
    1. h1-h6 & ძლიერი, b, em
    2. h1-h6 & a href=…
    3. ძლიერი, b, em & a href=…
დასკვნა

საძიებო სისტემების გვერდების დათვალიერებისას, შეგიძლიათ ნახოთ მრავალი შეცდომა, რომელიც დაკავშირებულია საიტის განლაგებასთან, მათ შორის ვალიდაციის შეცდომებთან. მაგრამ აქ უნდა გვესმოდეს, რომ ისინი საკუთარ თავს სრულიად განსხვავებულ მიზნებს აყენებენ. SEO ოპტიმიზებული განლაგება საჭიროა საიტებისთვის, რომელთა ტრაფიკის ერთ-ერთი მთავარი წყარო საძიებო სისტემებია და რაც არ უნდა მაგარი ლინკები იყოს საიტთან, კარგი კოდის ოპტიმიზაციის გარეშე პირველ პოზიციებზე ვერ იოცნებებ.

ამ საიტზე მე ჩვეულებრივ ვუზიარებ ჩემს გამოცდილებას, მაგრამ ზოგჯერ მე თვითონ მჭირდება რჩევა. და ეს მოკლე სტატია იქნება მხოლოდ ამ სერიიდან, რადგან პრობლემა ცოტათი სცილდება ჩემს კომპეტენციას, მაგრამ მისი მოგვარებაა საჭირო. ამიტომ, კითხვა გარკვეულწილად მკითხველისთვისაა. მაგრამ ფაქტია, რომ ჩვენმა ძვირფასმა გუგლმა მითხრა, რომ ეს ჩემი საიტი არ არის სრული და ეს ანელებს საიტს.

მე არ ვარ პროგრამისტი, როგორც ამბობენ, არცერთ ენას არ ვფლობ. მაგრამ საკითხი უნდა მოგვარდეს და ამიტომაც დავაყენებ აქ. რა თქმა უნდა, მიუხედავად იმისა, რომ კითხვა რთულია, ის არ არის უფრო რთული, ვიდრე იმის გაგება, თუ რა არის ეს და როგორ ეხმარება ის ვაჭრობის მართვას.

როგორ მოვახდინოთ საიტის კოდის ოპტიმიზაცია?

ვეცდები გავარკვიო ეს ჩემი ბლოგის გვერდებზე. გარდა ამისა, თქვენ ვერ შეძლებთ ყველაფრის ერთდროულად გაკეთებას, მაგრამ უნდა გქონდეთ სამოქმედო გეგმა.

მინდა დავიწყო იმის ახსნა, თუ სად არის დაკრძალული ძაღლი. ალბათ თქვენ, როგორც მე, იყენებთ რაიმე სახის კონტენტის მართვის სისტემას თქვენი ვებსაიტისთვის: WordPress, Joomla, Drupal ან სხვა. ეს სისტემები დამზადებულია პროფესიონალების მიერ და მათში მცირე შეცდომებია.

მაგრამ შაბლონები, რომლებსაც უმეტესობა ჩვენგანი იღებს საჯარო დომენიდან, მიდრეკილია შეცდომებისკენ. , განსაკუთრებით უფასოებს, ხშირად ამზადებენ მოყვარულები და მათი შემოქმედება არ არის სრულყოფილი. და სწორედ კეთილმა გუგლმა მიმითითა შაბლონის შეცდომებზე. Რა არიან ისინი?

Google ცალ-ცალკე აჩვენებს შეცდომებს საიტის მობილური მოწყობილობებიდან და დესკტოპიდან ჩატვირთვისას. თუმცა არის განსხვავება. მაშ, რა შეცდომები ან თუნდაც კოდის ხარვეზები არის ჩემს შაბლონში?

კომპიუტერებისთვის:

1. უნდა გამოსწორდეს - ეს არის მაღალი დონის შეცდომა!

გამოიყენეთ თქვენი ბრაუზერის ქეში!
HTTP სათაურებში სტატიკური რესურსების თარიღის ან ვადის გასვლის თარიღის მითითებით, ბრაუზერი ჩატვირთავს ადრე მოძიებულ რესურსებს ადგილობრივი დისკიდან და არა ინტერნეტიდან.
გამოიყენეთ თქვენი ბრაუზერის ქეში შემდეგი რესურსებისთვის:

Http://avatars-fast.yandex.net/get-direct/nubNH6Z6vqKZZtboVlYcQg/y80 (მოქმედების ვადა მითითებული არ არის) http://directstat.ru/script (მოქმედების ვადა არ არის მითითებული) https://prostolinux.ru/karta- saita/ (მოქმედების ვადა მითითებული არ არის) https://prostolinux.ru/prostolinux.png (მოქმედების ვადა მითითებული არ არის) (მოქმედების ვადა არ არის მითითებული) (მოქმედების ვადა არ არის მითითებული) https://prostolinux.ru/wp-content/themes /rockwell_new/rockwell/css/jquery.lightbox-0.5.css (მოქმედების ვადა მითითებული არ არის) https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/css/orange.css (მოქმედების პერიოდი არ არის მითითებული) https ://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/css/superfish.css (მოქმედების ვადა არ არის მითითებული) https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/images/bk_body. jpg (მოქმედების ვადა მითითებული არ არის) https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/images/bk_dotted_vert.gif (მოქმედების ვადა არ არის მითითებული) https://prostolinux.ru/wp-content/themes/ rockwell_new/rockwell/images/bk_menu_orange.jpg (მოქმედების ვადა არ არის მითითებული) https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/images/bullet_top.jpg (მოქმედების ვადა არ არის მითითებული) https://prostolinux. ru/wp-content/themes/rockwell_new/rockwell/images/ico_date_orange.png (მოქმედების პერიოდი არ არის მითითებული) https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/images/topmenu_border_orange.jpg (მოქმედების პერიოდი არ არის მითითებული მითითებული მოქმედებები) https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/js/copy.js (მოქმედების პერიოდი არ არის მითითებული) https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/ js /jquery-1.3.2.min.js (მოქმედების პერიოდი მითითებული არ არის) https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/js/jquery.form.js (მოქმედების პერიოდი არ არის მითითებული) (არ არის მითითებული მითითებული მოქმედების ვადა) (მოქმედების ვადა არ არის მითითებული) https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/style.css (მოქმედების ვადა მითითებული არ არის) https://prostolinux.ru/wp-includes/images / smilies/icon_smile.gif (მოქმედების ვადა მითითებული არ არის)

ჩემთვის ჯერ არ არის ნათელი, რა არის მოქმედების ვადა და სად უნდა იყოს მითითებული. Შენ იცი?

2. განიხილეთ დაფიქსირება

წაშალეთ Rendering-Blocking JavaScript და CSS გვერდის ზემოდან.

დაბლოკვის სკრიპტების რაოდენობა გვერდზე: 1. CSS-ის დაბლოკვის რესურსების რაოდენობა გვერდზე: 4. ანელებს შინაარსის ჩვენებას.
გვერდის ზედა ნაწილში არსებული ყველა შინაარსი ნაჩვენებია მხოლოდ შემდეგი რესურსების ჩატვირთვის შემდეგ. განვიხილოთ ამ რესურსების ჩატვირთვის გადადება, მათი ასინქრონულად ჩატვირთვა ან მათი ყველაზე მნიშვნელოვანი კომპონენტების პირდაპირ HTML კოდში ჩასმა.
წაშალეთ JavaScript კოდი, რომელიც ხელს უშლის ჩვენებას:

Https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/js/jquery-1.3.2.min.js

გააუმჯობესეთ თქვენი CSS შემდეგ რესურსებზე:

https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/style.css
https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/css/orange.css
https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/css/jquery.lightbox-0.5.css
https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/css/superfish.css

აქ პრობლემა უფრო ნათელია, მაგრამ ჯერ არ ვიცი როგორ მოვაგვარო. მე ავტვირთე საიტის ასლი ლოკალურ სერვერზე კოდის უსაფრთხოდ შესაცვლელად. ვივარჯიშოთ.

3. Minify JavaScript - ეს არის შეცდომის საშუალო მაჩვენებელი. შეცდომის გამოსწორება საიტს ოდნავ დააჩქარებს.
JavaScript კოდის შეკუმშვა საშუალებას გაძლევთ შეამციროთ მონაცემთა რაოდენობა, რათა დააჩქაროს დატვირთვა, დამუშავება და შესრულება.
შეამცირეთ JavaScript კოდი შემდეგ რესურსებში, რათა შეამციროთ მათი ზომა 19.4 კბ-ით (46%
https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/js/jquery-1.3.2.min.js შემცირება შეამცირებს ზომას 14 კბ-ით (41%
https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/js/jquery.form.js შემცირება შეამცირებს ზომას 5,4 კბ-ით (64%
4. თქვენი სურათების ოპტიმიზაცია - ეს არის საშუალო შეცდომის მაჩვენებელი. შეცდომის გამოსწორება საიტს ოდნავ დააჩქარებს.

სურათების სწორი ფორმატი და შეკუმშვა შეიძლება შეამციროს მათი ზომა.

გააუმჯობესეთ შემდეგი სურათები, რათა შეამციროთ მათი ზომა 5 კბ-ით (14%
თუ სურათს უდანაკარგოდ შეკუმშავთ, ის შეამცირებს მის ზომას 2 კბ-ით (8%
თუ თქვენ უდანაკარგოდ შეკუმშავთ სურათს https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/images/ico_date_orange.png, ეს შეამცირებს მის ზომას 1,7 კბ-ით (31%)
თუ თქვენ შეკუმშავთ სურათს http://avatars-fast.yandex.net/get-direct/nubNH6Z6vqKZZtboVlYcQg/y80 უდანაკარგოდ, ეს შეამცირებს მის ზომას 1,3 კბ-ით (19%

5. შეამცირეთ სერვერის რეაგირების დრო - ეს არის შეცდომის საშუალო მაჩვენებელი. შეცდომის გამოსწორება საიტს ოდნავ დააჩქარებს.

ტესტირების შედეგებზე დაყრდნობით, თქვენი სერვერის პასუხის დრო იყო 0.24 წამი. ამ ინდიკატორზე გავლენას ახდენს მრავალი ფაქტორი. წაიკითხეთ ჩვენი საუკეთესო პრაქტიკა, რათა გაიგოთ, თუ როგორ შეგიძლიათ თვალყური ადევნოთ და გაზომოთ რეაგირების დრო.

არ მეგონა, რომ ეს ბევრი იყო, მაგრამ, როგორც ჩანს, ეს ჰოსტინგის საკითხია, თქვენ უნდა გაარკვიოთ.
6. შეამოკლეთ HTML - ეს არის შეცდომის საშუალო მაჩვენებელი. შეცდომის გამოსწორება საიტს ოდნავ დააჩქარებს.
HTML კოდის შეკუმშვა (მათ შორის inline JavaScript ან CSS კოდი) ამცირებს მონაცემთა რაოდენობას უფრო სწრაფი ჩატვირთვისა და დამუშავებისთვის.

შეამცირეთ HTML კოდი შემდეგ რესურსებში, რათა შეამციროთ მათი ზომა 1.7 კბ-ით (8%
https://prostolinux.ru/kak-usilit-signal-3g-modema/ შემცირება შეამცირებს ზომას 1,7 კბ-ით (8%

მობილურისთვის:

აქ ყველა შეცდომა ერთნაირია, მაგრამ იმ განსხვავებით, რომ ყველა მათგანი მონიშნულია როგორც კრიტიკული!

Რას ნიშნავს? ეს ნიშნავს, რომ მობილური მოწყობილობიდან საიტის ჩატვირთვისას ყველაფერი ბევრად უფრო სწრაფი უნდა იყოს, რადგან იქ ინტერნეტ არხი ჩვეულებრივ უფრო ვიწროა.

დიახ, მე არ მითქვამს, სად მაჩვენა Google-მა ეს შეცდომები. და მან მაჩვენა ისინი Google Adsense პანელში. ან შეგიძლიათ უბრალოდ გადახვიდეთ https://developers.google.com/speed/pagespeed/insights/ და გაარკვიოთ რა უნდა გამოსწორდეს, რადგან საიტზე კოდის ოპტიმიზაცია, თუმცა ადვილი არ არის, მხოლოდ ერთხელ უნდა გაკეთდეს.

თუ იცით როგორ გადაჭრათ სულ მცირე რამდენიმე პრობლემა, ძალიან მადლობელი ვიქნები თქვენი რჩევებისთვის. ამასობაში, ამ მნიშვნელოვან კითხვებზე პასუხების საძიებლად ინტერნეტს გავსინჯავ...

გადაწყვეტილებები.

1. ჩართეთ შეკუმშვა.

პირველი, რამაც შესაძლებელი გახადა გარკვეული გაუმჯობესების დაუყოვნებლივ მიღწევა იყო კოდის დამატება .htaccess ფაილში, რომელიც მდებარეობს საიტის ძირში.

SetOutputFilter DEFLATE ჰედერის დამატება ვარიაცია User-Agent FileETag MTtime Size ExpiresActive on ExpiresDefault "წვდომა პლუს 1 თვე" SetOutputFilter DEFLATE

როგორც მე მესმის, ეს ყველაფერი საშუალებას გაძლევთ შეკუმშოს მონაცემები სერვერის მხარეს. მე უკვე დავწერე ამის შესახებ ადრე, გამოვაქვეყნე კოდიც კი, მაგრამ თქვენ შეგიძლიათ დაამატოთ კიდევ რამდენიმე პარამეტრი, რამაც გააუმჯობესა შესრულება.
2. წაშალეთ არასაჭირო სკრიპტები.

გვერდის ანალიზმა აჩვენა, რომ შაბლონის ზოგიერთი სკრიპტი ხელს უშლის გვერდის ჩატვირთვას. ამ ტიპის რამდენიმე სკრიპტი წავშალე header.php-დან:



გაქვთ შეკითხვები?

შეატყობინეთ შეცდომას

ტექსტი, რომელიც გაეგზავნება ჩვენს რედაქტორებს: