Budżet: 7000 UAH Termin: 5 dni
Witam. Będę w stanie spełnić wszystkie wymagania dotyczące optymalizacji układu, przejdę przez każdy punkt z kontrolą i testowaniem. Mam duże doświadczenie w tworzeniu stron internetowych na html, css, js, wordpress.
Strona: https://deniz-estate.com/ru/
Problemy:
Dla każdej wersji językowej strony konieczne jest dodanie w tagu <Head> aktualnych:
<link rel="alternate" hreflang="ru" href="https://deniz-estate.com/ru/” />
<link rel="alternate" hreflang="uk" href="https://deniz-estate.comua/" />
<link rel="alternate" hreflang="pl" href="https://deniz-estate.com/pl/" />
<link rel="alternate" hreflang="en" href="https://deniz-estate.com/en/" />
Należy, aby moduł automatycznie konwertował obrazki do formatu WebP
Zainstalować i skonfigurować moduł Gum Image Optimizer
Sprawdzić, czy WebP jest faktycznie wysyłane do przeglądarek
Upewnić się, że serwer poprawnie wysyła wersje WebP zamiast oryginalnych (JPEG/PNG), jeśli przeglądarka je obsługuje
Sprawdzić plik .htaccess
Włączyć i sprawdzić Lazy Load
Jeśli używany jest plugin (np. WP Rocket, natywne lazy load, Gum), upewnić się, że:
Lazy Load jest włączony
Wszystkie tagi <img> otrzymują atrybut loading="lazy"
Sprawdzić rozmiary i responsywność
Wszystkie obrazki muszą mieć ustawione width i height
Naprawić srcset i sizes, aby przeglądarka ładowała odpowiedni rozmiar
Sprawdzić cache'owanie
Upewnić się, że obrazki są cache'owane po stronie przeglądarki (expires, cache-control)
Sprawdzić Lighthouse
Przeprowadzić test strony za pomocą Google Lighthouse (w DevTools)
Upewnić się, że nie ma ostrzeżeń dotyczących obrazów (rozmiar, format, lazy load itp.)
Obrazki ładują się szybko, nie „psują” układu
Brak duplikatów lub zbędnego obciążenia
WebP działa
Wyniki Lighthouse dotyczące obrazów bez błędów
były poprawnie oznaczone (<button> lub <a>)
działały z klawiatury
były dostępne dla czytników ekranu
zgodnie z wytycznymi WCAG 2.1 i Lighthouse
Używać tylko natywnych tagów:
<button> — do działań (wysyłanie, zamykanie, otwieranie itp.)
<a href="..."> — do przejść na strony
Zabrania się używania <div> lub <span> jako przycisków (chyba że dodano role="button" + tabindex + obsługa Enter/Space — ale lepiej zamienić na <button>)
Dla przycisków w formularzach:
Wyraźnie wskazać type="submit" lub type="button"
(domyślnie <button> = submit, co może powodować niepożądane zachowanie)
Wszystkie przyciski muszą być dostępne za pomocą Tab
Przyciski powinny być aktywowane klawiszami:
Enter
Space
Wszystkie przyciski muszą mieć:
lub widoczny tekst (<button>Pobierz</button>)
lub aria-label="Pobierz" — jeśli przycisk zawiera tylko ikonę
Cel: Zwiększyć dostępność formularzy dla użytkowników z szczególnymi potrzebami i spełnić standardy WCAG.
Co zrobić:
Element .iti__selected-flag nie powinien być samodzielnie fokusem, jeśli nie pełni funkcji zarządzania wprowadzaniem.
Usunąć tabindex="0" i role="combobox" z elementów, które nie są aktywnymi elementami sterującymi.
Upewnić się, że przejście klawiaturą (Tab) odbywa się wyłącznie po potrzebnych elementach interaktywnych (wprowadzanie, select, przycisk).
Co zrobić:
Upewnić się, że w formularzu znajduje się button type="submit" lub input type="submit".
Jeśli brakuje — dodać:
Co zrobić:
Zostawić aria-label lub aria-labelledby, jeśli nie ma label, ale najlepiej używać <label> jako głównego środka.
Jeśli są walidacje pól, dodać aria-describedby="id-komunikatu" i aria-invalid="true" przy błędach.
Sprawdzić ręcznie:
Klawisz Tab powinien kolejno przechodzić przez:
pole „Imię”;
pole „Email”;
pole telefonu;
przycisk wysyłki.
Klawisz Enter/Space powinien aktywować wysyłkę i elementy klikalne.
Nie powinno być „skoków” lub fokusu na elementach dekoracyjnych.
Zidentyfikować wszystkie zewnętrzne skrypty, które są ładowane (np. analityka, czcionki, widgety).
Dla nieistotnych skryptów zaimplementować opóźnione ładowanie (lazy loading).
W miarę możliwości używać async lub defer przy podłączaniu zewnętrznych JS-ów.
Optymalizować kolejność podłączania zewnętrznych usług, aby nie blokowały krytycznego renderowania strony.
Używać narzędzi do sprawdzania kontrastu (np. WebAIM Contrast Checker).
Sprawdzić, czy kontrast między tekstem a tłem spełnia minimalne wymagania WCAG:
Poziom AA: nie mniej niż 4.5:1 dla zwykłego tekstu, 3:1 dla dużego.
Poziom AAA (zalecany): 7:1 dla zwykłego tekstu.
Cel: Zachować poprawną strukturę HTML i poprawić percepcję treści przez technologie wspomagające.
Co należy zrobić:
Wszystkie tagi <li> muszą być używane tylko wewnątrz list <ul>, <ol> lub <menu>.
Wykluczyć przypadki:
<li> poza nadrzędną listą;
<div><li>...</li></div> bez zagnieżdżenia w <ul> lub <ol>.
W razie potrzeby zamienić niepoprawne <li> na <div>, <p> lub inne semantycznie odpowiednie tagi.
Upewnić się, że struktura list jest logiczna i poprawnie zagnieżdżona (zagnieżdżone listy poprawnie wyświetlają się i są poprawnie sformatowane).
Cel: Zapewnić poprawną pracę z technologiami wspomagającymi (czytniki, VoiceOver itp.).
Co należy zrobić:
Sprawdzić wszystkie atrybuty role pod kątem poprawności i konieczności.
Wykluczyć przypadki:
Przypisanie role="button" do <button> — jest powielaniem;
role="link" do <a> z href — jest zbędne;
Używanie przestarzałych ról lub nieistniejących wartości.
Używać tylko dozwolonych wartości z oficjalnej specyfikacji WAI-ARIA.
Sprawdzić, czy wszystkie role ARIA są logiczne w kontekście, np.:
role="navigation" — dla bloku z menu;
role="dialog" — dla okien modalnych;
role="alert" — dla powiadomień o błędach i ostrzeżeniach.
Cel: Zapewnić poprawną nawigację i zachowanie linków na stronie.
Co należy zrobić:
Wszystkie tagi <a> muszą mieć wypełniony atrybut href. Unikać:
href="";
href="#" — tylko jeśli używane z JavaScript, i wtedy z preventDefault() (np. w popupach).
Dla zasobów zewnętrznych — pełne linki z protokołem https:// i zamknięte rel="nofollow noopener noreferrer"
Jeśli link otwiera się w nowej karcie (target="_blank"), koniecznie dodać:
rel="noopener noreferrer" — dla bezpieczeństwa (zapobieganie uldze window.opener).
Po wdrożeniu wszystkich punktów konieczne jest przeprowadzenie audytu:
- Lighthouse (w Chrome DevTools, zakładka "Audyt" lub "Sprawdzanie");
- axe DevTools — do głębokiej analizy dostępności.
Wyniki testów warto zapisać w formie zrzutów ekranu przed i po zmianach.
Budżet: 7000 UAH Termin: 5 dni
Witam. Będę w stanie spełnić wszystkie wymagania dotyczące optymalizacji układu, przejdę przez każdy punkt z kontrolą i testowaniem. Mam duże doświadczenie w tworzeniu stron internetowych na html, css, js, wordpress.
Budżet: 20000 UAH Termin: 18 dni
Witam!
Chętnie pomogę, ale zajmie to trochę czasu, więc budżet nie jest mały.
Budżet: 8000 UAH Termin: 5 dni
Witam! Specjalizuję się w Wordpress, chętnie dokonam dokładnych poprawek z listy z testami na końcu i zrzutami ekranu.
Budżet: 20000 UAH Termin: 14 dni
Witam, wykonam projekt w ciągu 2 tygodni, znam HTML CSS JS. Cena 20000 грн. wkrótce będę mógł zrobić Twój projekt.
Konieczne jest wykorzystanie funkcjonalności do wykonania - 1. wizualizacji zniżki na karcie produktu: ładnie sformatować umiejscowienie cen hurtowych w zależności od ilości, a po wyborze ilości według ceny hurtowej należy wyświetlić - tekst typu "Oszczędzasz .....” na karcie produktu oraz w koszyku Przykład jak teraz https://plusminus7.com.ua/index.php?route=product/product&product_id=7097 Przechodząc do koszyka również nie widzimy ile było, a ile stało się. Zwykły marketing. - masowa edycja zniżek przez eksport/import pliku (wyeksportowano → poprawiono → załadowano z powrotem) Obecnie zniżki od ilości są ustawiane bezpośrednio w kartach produktów w zakładce Zniżka, aby była możliwość edytowania masowo, należy wykonać eksport/import produktów do excela Dołączyłem zrzuty ekranu jako przykłady, jak mniej więcej widzimy wizualizację cen hurtowych Następnym etapem będzie jeszcze TZ dotyczące regulacji kształtowania cen i zaokrąglania.
O projekcie: Wymagane jest stworzenie sprzedażowej strony lądowania dla autorskiego intensywu online na działającej stronie internetowej kancelarii prawnej. Platforma strony: WordPress. Oczekiwany URL strony: strona/online_intensive1. Projekt i struktura:Istnieje gotowy prototyp w postaci czystego kodu HTML/CSS (zawiera teksty, strukturę, paletę kolorów, responsywność i pionowe wideo-referencje 9:16). Kod zostanie przekazany wykonawcy.Zadanie dotyczące projektu: Należy wziąć ten kod jako podstawę, ale nie po prostu skopiować. Mile widziane są poprawki UX/UI, dodanie subtelnych mikroanimacji, cieni, nowoczesnych efektów (feature), które uczynią stronę bardziej atrakcyjną i sprzedażową, zachowując jednocześnie surowy styl korporacyjny.2. Integracja z CMS (Edytowalność):Krytycznie ważne: Strona lądowania nie powinna wisieć na stronie jako „goły” kod HTML. Strona musi być zbudowana za pomocą wizualnego konstruktora (Elementor) lub zrealizowana przez elastyczne pola (ACF).Zleceniodawca musi mieć możliwość łatwej zmiany dowolnych tekstów, linków, taryf i zdjęć bezpośrednio z panelu administracyjnego WordPress bez ingerencji w kod.3. Wymagania techniczne i responsywność:Pełna responsywność wieloplatformowej wersji: Desktop, Tablet, Mobile. Strona musi poprawnie wyświetlać się na wszystkich typach urządzeń (w tym proporcje 3 pionowych wideo-referencji).Wysoka wydajność: Obowiązkowa podstawowa optymalizacja prędkości ładowania (Google PageSpeed). Obrazy muszą być skompresowane i skonwertowane do formatu WebP, skrypty i style zminimalizowane.4. Formularz kontaktowy (Generowanie leadów):Na stronie lądowania znajduje się formularz zgłoszeniowy (Imię, Telefon). Należy go uczynić w pełni funkcjonalnym.Wszystkie zgłoszenia muszą być natychmiast wysyłane na firmowy email: [email protected]ży skonfigurować wysyłkę przez serwer SMTP lub użyć niezawodnej wtyczki (WPForms / Contact Form 7), aby zgłoszenia nie trafiały do folderu „Spam”.5. Wielojęzyczność:Obecna strona zakłada obecność trzech języków (RUS, KAZ, ANG).W ramach projektu wykonawca musi skonfigurować wielojęzyczność dla nowej strony lądowania (za pomocą wbudowanej wtyczki na stronie).W trakcie realizacji zadania zleceniodawca dostarczy gotowe tłumaczenia tekstu na język kazachski i angielski. Wykonawca musi stworzyć i sformatować te dodatkowe wersje językowe strony.6. Integracja z główną stroną:Skonfigurować przejście na stronę lądowania z głównej strony.W głównym menu (w nagłówku) działającej strony salyk.net należy dodać nowy przycisk lub punkt menu (na przykład „Intensyw online”), który będzie prowadził do adresu /online_intensive.Dodatkowo: dodać funkcję przełączania między językami rus/eng/kaz w stylu strony.
Wirus obecnie infiltrował stronę internetową. Strona nie działa prawidłowo. W szczególności główna strona nie działa poprawnie. Potrzebujemy dewelopera, który może naprawić ten błąd tak szybko, jak to możliwe.
Jest strona, która działa, trzeba zmienić strukturę głównego menu i stworzyć kilka nowych stron (już według tego szablonu, który jest z tym samym designem) Co jest: Struktura menu: Strona główna O nas Usługi: joga dla szczeniąt, joga + kąpiel dźwiękowa + ceremonia kakao, kąpiel dźwiękowa, joga z lamą Karta podarunkowa Blog Kontakt Co trzeba zrobić: 1. Zmienić strukturę menu na następującą: Strona główna O nas Doświadczenia tygodniowe Doświadczenia sezonowe Doświadczenia prywatne Karta podarunkowa Blog Kontakt 2. Stworzyć nowe strony (katalog usług) Doświadczenia tygodniowe Doświadczenia sezonowe (na tej stronie zrobić podział Jesień-Zima, Wiosna-Lato (lub zrobić oznaczenia przy każdej karcie produktu, kiedy jest dostępny) Doświadczenia prywatne Te strony zrobić na podstawie istniejącej strony - czyli skopiować istniejącą stronę i powiązać z nią strony usług, mają się tam wyświetlać automatycznie, jeśli zaznaczy się odpowiednią opcję 3. Dodać następujące usługi na stronie doświadczeń tygodniowych: Joga dla szczeniąt Kąpiel dźwiękowa 4. Dodać następujące usługi na stronie doświadczeń sezonowych: Kąpiel dźwiękowa Bloom Frequency Joga z lamą Pierwsze światło - Szczęśliwy wschód słońca Ceremonia herbaty zbiorów i kąpiel dźwiękowa Joga, ceremonia kakao i kąpiel dźwiękowa Zimowa kąpiel dźwiękowa przy świecach Ceremonia ustawiania intencji na Nowy Rok, ceremonia kakao, aromaterapia i kąpiel dźwiękowa 5. Dodać usługi na stronie doświadczeń prywatnych: Prywatna joga dla szczeniąt w studiu Prywatna joga dla szczeniąt w Twojej lokalizacji Prywatna kąpiel dźwiękowa dla jednej osoby Prywatna kąpiel dźwiękowa dla grupy Prywatne kąpiele dźwiękowe i ceremonie herbaty dla zespołów, liderów i wydarzeń korporacyjnych 6. Podłączyć kalendarz systemu simplybookme do stron: Pierwsze światło - Szczęśliwy wschód słońca Ceremonia herbaty zbiorów i kąpiel dźwiękowa Zimowa kąpiel dźwiękowa przy świecach Ceremonia ustawiania intencji na Nowy Rok, ceremonia kakao, aromaterapia i kąpiel dźwiękowa Ten system rezerwacji jest już skonfigurowany na stronie, trzeba według tego samego zasady podłączyć kalendarz do wymienionych stron. 6.1. Dodać przycisk „lista oczekujących” na stronach: Pierwsze światło - Szczęśliwy wschód słońca Ceremonia herbaty zbiorów i kąpiel dźwiękowa Zimowa kąpiel dźwiękowa przy świecach Ceremonia ustawiania intencji na Nowy Rok, ceremonia kakao, aromaterapia i kąpiel dźwiękowa Po naciśnięciu przycisku ma się pojawić formularz, w którym osoba zostawia swój e-mail, imię i wysyła ten formularz. Z naszej strony klient ma otrzymać wiadomość, że znalazł się na liście oczekujących, a my mamy otrzymać powiadomienie, że ktoś dołączył do listy oczekujących. Przez simplybook się nie uda, trzeba pewnie robić przez formularze shopify, lub możecie zaproponować inne rozwiązanie
Na podstawie już istniejącego szablonu projektu strony internetowej wykonać szereg dla frameworka Laravel. Makieta projektu została stworzona w Figma. Bardziej szczegółowo opiszę już w wiadomościach prywatnych.