Kiedy po raz pierwszy zidentyfikowaliśmy potrzebę zmiany, zadanie wydawało się proste: „Zmień górny blok i spraw, aby wezwanie do działania było skuteczniejsze”. Na pierwszy rzut oka może się to wydawać szybką poprawką, ale szybko zdaliśmy sobie sprawę, że to małe zadanie ujawniło znacznie większe, ukryte problemy ze strukturą i projektem witryny. Problemem nie był tylko jeden blok; to cała architektura witryny wymagała gruntownego remontu.
Nasza witryna internetowa powstawała przez długi czas, a różne strony dodawano przy użyciu różnych projektów i układów, bez żadnego ujednoliconego motywu lub szablonu. Każda strona miała niepowtarzalny projekt, co może brzmieć kreatywnie, ale prowadziło do poważnego problemu: niespójności. Gdybyśmy poszli dalej i stworzyli nowy projekt tylko dla górnego bloku, zachowując resztę witryny bez zmian, oznaczałoby to ręczną aktualizację tego bloku na ponad 700 stronach i postach. Co gorsza, ten ręczny proces musiałby być powtarzany za każdym razem, gdy chcielibyśmy wprowadzić przyszłe zmiany. Wyobraź sobie nieefektywność przeszukiwania setek stron, upewniając się, że każda z nich ma najnowsze aktualizacje. Szybko stało się jasne, że dalsza praca ze starą witryną nie będzie trwała.
Poza samą logistyką aktualizacji każdej strony musieliśmy wziąć pod uwagę ogólne doświadczenie użytkownika. Użytkownicy oczekują dziś płynnych, spójnych doświadczeń podczas odwiedzania witryny. Jeśli przewiną stronę w dół i zobaczą, że projekt jest niespójny – każdy blok używa innych stylów – tworzy to niespójne i nieprofesjonalne wrażenie. Co gorsza, gdy użytkownik przechodzi z jednej strony na drugą i zauważa, że układ i projekt są zupełnie inne, wzmacnia to poczucie nieporządku.
Niespójność wykraczała poza układ. Wiele obrazów na stronie było nieaktualnych, źle wystylizowanych, a nawet niewłaściwie wygenerowanych przez sieci neuronowe. Obrazy te nie były zgodne z nowoczesnymi standardami projektowania, a ich zastąpienie było kolejnym zniechęcającym zadaniem. Użycie złych obrazów odbijało się negatywnie na ogólnej jakości strony, pozostawiając użytkowników z negatywnym wrażeniem na temat oferowanego przez nas produktu lub usługi.
Nie było prostego sposobu na kompleksową aktualizację witryny za pomocą narzędzia takiego jak Elementor. Każda strona i blok zawierały własne style inline, co oznaczało, że zmian nie można było wprowadzać globalnie. Gdybyśmy chcieli zaktualizować styl witryny, musielibyśmy przejść przez każdą stronę i ręcznie zaktualizować każdy blok, co byłoby czasochłonne i nieefektywne. Mając to na uwadze, stało się oczywiste, że naszym jedynym rozwiązaniem było zbudowanie nowej witryny od podstaw. Pozwoliłoby nam to przenieść całą zawartość, zachowując te same adresy URL, ale z nowym, spójnym i łatwym do aktualizacji projektem.
Elementor jest jednym z najpopularniejszych kreatorów stron dla WordPressa. Na pierwszy rzut oka wydaje się świetnym narzędziem, które umożliwia szybkie i łatwe tworzenie stron. Jednak po intensywnej pracy z nim napotkaliśmy kilka ograniczeń, które skłoniły nas do odejścia od Elementora i wybrania zamiast tego strony internetowej zbudowanej na zamówienie.
Ograniczenia i wyzwania Elementora:
kontenery w innych elementów, z których każdy ma własny zestaw stylów. W rezultacie powstaje rozdęta struktura, która negatywnie wpływa na szybkość ładowania, wydajność strony i ostatecznie na pozycję witryny w rankingu SEO. Gdy przeprowadziliśmy testy szybkości, wyniki były stale słabe, a w dużej mierze winny był ciężki kod generowany przez Elementor.
Mając na uwadze wszystkie te wyzwania, stało się jasne, że potrzebujemy bardziej solidnego rozwiązania. Podjęliśmy decyzję o zbudowaniu nowej, niezależnej witryny bez Elementora, wybierając bardziej zrównoważone i elastyczne podejście.
Budowa nowej witryny od podstaw dała nam możliwość ustanowienia czystego, usprawnionego procesu tworzenia stron. W nowym systemie tworzenie strony jest proste:
Ten proces jest prosty, ale elastyczny. Zamiast polegać na skomplikowanym systemie bloków Elementora, edytor treści w WordPressie jest znacznie czystszy, umożliwiając szybkie aktualizacje i łatwą personalizację. Poniżej edytora znajdują się ustawienia dla Advanced Custom Fields (ACF), które są już skonfigurowane w celu zachowania spójności w całej witrynie.
ACF pozwala nam tworzyć elastyczne sekcje treści, z blokami takimi jak Treść 1…Treść 15 , gdzie można łatwo ustawić tytuł, tekst, obraz i etykiety przycisków dla każdej sekcji strony. Te bloki automatycznie zmieniają pozycjonowanie obrazów i tekstu, zapewniając, że układ pozostaje wizualnie angażujący bez konieczności ręcznych korekt.
W przypadku obrazów wdrożyliśmy system dopasowywania kolorów, który automatycznie stosuje gradient w głównych kolorach witryny. Dzięki temu wszystkie obrazy są zgodne z ogólną estetyką. W przypadku logotypów lub zrzutów ekranu, w których kolory muszą pozostać nienaruszone, istnieje opcja „zachowaj kolory”, która zastępuje gradient.
System ten upraszcza zarządzanie treścią, jednocześnie zapewniając spójność projektu na wszystkich stronach.
Tworzenie postów w nowej witrynie odbywa się zgodnie z tą samą uproszczoną procedurą co tworzenie stron, z kilkoma kluczowymi różnicami:
Szablon dla wszystkich wpisów znajduje się w pliku template-parts/content/content-single.php , który obsługuje strukturę i układ każdego wpisu na blogu. Ten spójny szablon umożliwia łatwe aktualizacje i zapewnia, że wszystkie wpisy są zgodne z tymi samymi wytycznymi projektowymi.
ACF był istotną częścią rozwoju naszej nowej witryny. Pozwala nam tworzyć pola niestandardowe, którymi można łatwo zarządzać za pomocą panelu administracyjnego WordPress. Pola takie jak content_1 są przywoływane w kodzie PHP, co pozwala nam dynamicznie pobierać poprawną treść dla każdej strony i wpisu.
Taka elastyczność jest niezbędna, abyśmy mogli sprawnie zarządzać witryną i ją aktualizować, pozostawiając jednocześnie miejsce na dostosowanie jej do potrzeb.
Jedną z najważniejszych ulepszeń, jakie wprowadziliśmy w nowej witrynie, była implementacja testów A/B. Testy A/B pozwalają nam porównywać dwie wersje witryny, aby zobaczyć, która z nich lepiej sprawdza się u użytkowników. Może to obejmować testowanie różnych kolorów, kształtów przycisków, tła, a nawet układów.
Zaimplementowaliśmy tę funkcjonalność za pomocą parametrów GET w adresie URL. Na przykład można utworzyć dwie identyczne kampanie reklamowe, ale z różnymi adresami URL:
https://www.conveythis.com/?param=1
https://www.conveythis.com/?param=2
Gdy użytkownicy klikają te linki, parametr jest zapisywany w pliku cookie. W zależności od wartości parametru witryna będzie wyświetlać różne wersje strony, takie jak różne kolory przycisków lub obrazy tła. Pozwala nam to zbierać cenne dane na temat preferencji i zachowań użytkowników.
Wszystkie zdarzenia są rejestrowane wPlik .csv
pliku, a także w bazie danych MySQL, co pozwala nam analizować dane i podejmować świadome decyzje dotyczące ulepszeń witryny.
Jednym z kluczowych zastosowań pliku functions.php było tworzenie niestandardowych typów wpisów i taksonomii, co pozwoliło nam na skuteczniejszą organizację treści. Zamiast polegać wyłącznie na domyślnej strukturze WordPressa (strony i wpisy), wprowadziliśmy niestandardowe typy dla określonych treści, takich jak studia przypadków, referencje lub funkcje produktów. Dzięki temu nie tylko nasze treści były lepiej zorganizowane, ale także poprawiło się doświadczenie użytkownika, ponieważ łatwiej było poruszać się po nich i znajdować istotne informacje.
Na przykład, aby utworzyć niestandardowy typ wpisu dla studiów przypadku, dodaliśmy następujący kod w pliku functions.php :
funkcja create_case_study_post_type() {
register_post_type( 'studia_przypadków',
szyk(
'etykiety' =>
szyk(
'name' => __( 'Studia przypadków' ),
'singular_name' => __( 'Studium przypadku' )
),
'publiczny' => prawda,
'has_archive' => prawda,
'rewrite' => array('slug' => 'studia przypadków'),
)
);
}
dodaj_akcję( 'init', 'utwórz_typ_postu_studium_przypadku' );
Stworzono nowy typ wpisu o nazwie „Case Studies”, który zachowywał się podobnie do zwykłych wpisów, ale miał własną strukturę archiwum i taksonomii.Innym krytycznym zastosowaniem functions.php było ładowanie zewnętrznych skryptów i stylów, co zapewniało, że nasza strona internetowa miała wszystkie niezbędne biblioteki i frameworki. Na przykład zintegrowaliśmy biblioteki takie jak Slick.js dla suwaków i AOS (Animate on Scroll) dla płynnych animacji. Selektywne ładowanie tych zasobów tylko wtedy, gdy były potrzebne (np. na określonych stronach lub szablonach), zmniejszyło niepotrzebne rozdęcie i poprawiło prędkość ładowania stron.
Oto jak poradziliśmy sobie z ładowaniem stylów i skryptów:
funkcja load_custom_scripts() {
// Załaduj suwak Slick dla określonych szablonów
jeśli( is_page_template('template-slider.php') ) {
wp_enqueue_style( 'slick-css', get_template_directory_uri() . '/css/slick.css' );
wp_enqueue_script( 'slick-js', get_template_directory_uri() . '/js/slick.min.js', array('jquery'), '', true );
}
// Załaduj animacje AOS w całej witrynie
wp_enqueue_style( 'aos-css', get_template_directory_uri() . '/css/aos.css' );
wp_enqueue_script( 'aos-js', get_template_directory_uri() . '/js/aos.js', array('jquery'), '', true );
}
dodaj_akcję( 'wp_enqueue_scripts', 'load_custom_scripts' );
Za pomocą kontroli warunkowych (np.jest_szablonem_strony()
), zadbaliśmy o to, aby niepotrzebne skrypty nie były ładowane w całej witrynie, co pozwoliło zoptymalizować wydajność.Aby zwiększyć elastyczność dla użytkowników nietechnicznych zarządzających treścią witryny, dodaliśmy niestandardowe shortcode'y za pośrednictwem functions.php . Te shortcode'y pozwoliły użytkownikom na łatwe wstawianie złożonych funkcji lub stylizowanych elementów bez konieczności dotykania kodu. Na przykład utworzyliśmy shortcode do dodawania niestandardowych przycisków w dowolnym miejscu witryny:
funkcja custom_button_shortcode($atts) {
$atts = shortcode_atts(
szyk(
'label' => 'Kliknij tutaj',
'url' => '#',
),
$atts,
'przycisk_niestandardowy'
);
zwróć ' ' . esc_html( $atts['label'] ) . ' ';
}
add_shortcode('niestandardowy_przycisk', 'niestandardowy_kod_skróconego_przycisku');
Dzięki temu krótkiemu kodowi redaktorzy mogli łatwo dodawać przyciski z niestandardowym tekstem i adresami URL, co pozwalało na szybkie wprowadzanie zmian bez psucia projektu.Głównym celem podczas przebudowy witryny była poprawa SEO i ogólnej wydajności witryny. Oryginalna witryna, zbudowana przy użyciu Elementora, miała problemy z wolnym czasem ładowania i nieoptymalnymi praktykami SEO z powodu rozdętego kodu i niezoptymalizowanych obrazów.
Aby mieć pewność, że nasza nowa strona będzie przyjazna dla SEO, od samego początku wdrożyliśmy kilka sprawdzonych praktyk:
,
, itd.), zapewniając, że wyszukiwarki mogą łatwo analizować i rozumieć hierarchię treści. Jest to szczególnie ważne zarówno dla rankingów SEO, jak i dostępności.funkcja add_schema_markup() {
echo '
{
"@context": "http://schema.org",
"@type": "Organizacja",
"nazwa": "ConveyThis",
"url": "https://www.conveythis.com",
"logo": "https://www.conveythis.com/logo.png",
"sameAs": [
"https://www.facebook.com/conveythis",
"https://twitter.com/conveythis"
]
}
';
}
add_action( 'wp_head', 'add_schema_markup' );
Wydajność jest krytycznym czynnikiem nie tylko dla doświadczenia użytkownika, ale także dla rankingów SEO. Podjęliśmy kilka kroków, aby poprawić szybkość witryny:
Stara strona internetowa zgromadziła znaczną ilość „śmieciowych” danych z powodu rozdęcia Elementora i nieefektywnej struktury bazy danych. Aby zapewnić płynne działanie nowej strony, przeprowadziliśmy dokładne czyszczenie i optymalizację bazy danych.
Jak wspomniano wcześniej, nawet po dezaktywacji Elementora jego style i ustawienia były nadal osadzone w bazie danych. Użyliśmy niestandardowych zapytań, aby usunąć te nadmiarowe dane i oczyścić bazę danych. Ponadto usunęliśmy wszystkie nieużywane pliki multimedialne, poprawki postów i wygasłe transjenty, które nagromadziły się z czasem.
Zoptymalizowaliśmy również bazę danych, dodając indeksy do często wyszukiwanych kolumn, co zapewnia szybsze i bardziej wydajne zapytania do bazy danych. Na przykład dodanie indeksu dopostdatować
Kolumna przyspieszyła zapytania dotyczące ostatnich wpisów, co poprawiło wydajność działania naszych stron blogowych.
Decyzja o zbudowaniu nowej witryny od podstaw była spowodowana ograniczeniami i nieefektywnością starej witryny. Prosta zmiana motywu nie była opcją wykonalną ze względu na niespójności projektowe, rozdęte style i problemy z wydajnością spowodowane przez Elementor. Tworząc nową witrynę z niestandardowym rozwojem i zaawansowanymi niestandardowymi polami, uzyskaliśmy bardziej wydajną, spójną i profesjonalną witrynę, która poprawia wrażenia użytkownika, umożliwiając jednocześnie usprawnione aktualizacje i funkcjonalność testów A/B. Ta nowa witryna zapewnia solidną podstawę do przyszłego wzrostu i ulepszeń.
Tłumaczenie, to znacznie więcej niż tylko znajomość języków, to złożony proces.
Dzięki naszym wskazówkom i użyciu ConveyThis przetłumaczone strony będą odpowiadać potrzebom odbiorców i będą sprawiać wrażenie rodzimych użytkowników języka docelowego.
Choć wymaga wysiłku, efekt jest satysfakcjonujący. Jeśli tłumaczysz stronę internetową, ConveyThis może zaoszczędzić Ci godzin dzięki automatycznemu tłumaczeniu maszynowemu.
Wypróbuj ConveyThis za darmo przez 7 dni!