---
title: "28 Rzeczy do zrobienia po instalacji WordPressa"
description: "W tym artykule przygotowałem dla Ciebie najważniejsze rzeczy, które moim zdaniem należy zrobić po nowej instalacji WordPressa. Jeżeli uważasz, że ten wpis jest wartościowy to udostępnij go dalej! Zapraszam do lektury. Usuń logowanie admina Może głupio to zabrzmi, ale podczas instalacji wiele osób korzysta z domyślnych nazw użytkowników typu admin, root, webmaster, web. Tak samo"
date: 2023-10-03
author: "Roman Rozenberger"
url: "https://rozenberger.com/posts/p/rzeczy-po-instalacji-wordpressa/"
categories:
  - "Poradniki"
tags:
  - "htaccess"
  - "Strony Internetowe"
  - "WordPress"
---

W tym artykule przygotowałem dla Ciebie najważniejsze rzeczy, które moim zdaniem należy zrobić po nowej instalacji WordPressa. Jeżeli uważasz, że ten wpis jest wartościowy to udostępnij go dalej! Zapraszam do lektury.

 **Na tej stronie:**   [pokaż](#)  

 [ Usuń logowanie admina ](#Usun_logowanie_admina)

 [ Ogranicz dostęp do strony w trakcie jej budowy ](#Ogranicz_dostep_do_strony_w_trakcie_jej_budowy)

 [ Usuń zbędne elementy po instalacji WordPress ](#Usun_zbedne_elementy_po_instalacji_WordPress) [ Usuwanie przykładowych wpisów i stron WordPress ](#Usuwanie_przykladowych_wpisow_i_stron_WordPress)

 [ Usuwanie domyślnych wtyczek WordPress ](#Usuwanie_domyslnych_wtyczek_WordPress)

 [ Usuwanie zbędnych motywów ](#Usuwanie_zbednych_motywow)





 [ Uporządkuj WordPressa po instalacji ](#Uporzadkuj_WordPressa_po_instalacji) [ Zmień adres URL i nazwę domyślnej kategorii wpisów ](#Zmien_adres_URL_i_nazwe_domyslnej_kategorii_wpisow) [ Ustaw formę bezpośrednich odnośników w WordPress (permalink structure) ](#Ustaw_forme_bezposrednich_odnosnikow_w_WordPress_permalink_structure)

 [ Bezpośrednie odnośniki WooCommerce ](#Bezposrednie_odnosniki_WooCommerce)

 [ Przykładowe ustawienia bezpośrednich odnośników dla WordPress i WooCommerce ](#Przykladowe_ustawienia_bezposrednich_odnosnikow_dla_WordPress_i_WooCommerce)

 [ Zaawansowane zarządzanie strukturą adresów ](#Zaawansowane_zarzadzanie_struktura_adresow)





 [ Dostosuj ustawienia strony głównej oraz strony z wpisami ](#Dostosuj_ustawienia_strony_glownej_oraz_strony_z_wpisami) [ Moje domyślne ustawienia czytania ](#Moje_domyslne_ustawienia_czytania)





 [ Ustawienia dyskusji w WordPress ](#Ustawienia_dyskusji_w_WordPress) [ Co oznaczają poszczególne ustawień dyskusji? ](#Co_oznaczaja_poszczegolne_ustawien_dyskusji)









 [ Podrasuj WordPressa ](#Podrasuj_WordPressa)

 [ Zainstaluj motyw i wtyczki do WordPress ](#Zainstaluj_motyw_i_wtyczki_do_WordPress) [ Instalacja motywu w WordPress ](#Instalacja_motywu_w_WordPress)

 [ Instalacja przydatnych wtyczek do WordPress ](#Instalacja_przydatnych_wtyczek_do_WordPress)





 [ Przekieruj stronę na https ](#Przekieruj_strone_na_https)

 [ Zabezpiecz WordPressa ](#Zabezpiecz_WordPressa) [ Zablokowanie pliku xmlrpc.php ](#Zablokowanie_pliku_xmlrpcphp)

 [ Blokowanie dostępu do pliku wp-login.php ](#Blokowanie_dostepu_do_pliku_wp-loginphp)

 [ Blokowanie dostępu do pozostałych plików ](#Blokowanie_dostepu_do_pozostalych_plikow)

 [ Zabezpieczamy wp-includes ](#Zabezpieczamy_wp-includes)

 [ Zabezpieczamy wp-content ](#Zabezpieczamy_wp-content)

 [ Zabezpieczamy logowaniem panel logowania /wp-admin/ ](#Zabezpieczamy_logowaniem_panel_logowania_wp-admin)





 [ Podsumowanie ](#Podsumowanie) 









Usuń logowanie admina
---------------------

Może głupio to zabrzmi, ale podczas instalacji wiele osób korzysta z domyślnych nazw użytkowników typu admin, root, webmaster, web. Tak samo korzystają z adresu email admin@nazwadomeny.pl lub webmaster@adresstrony.pl

Pierwsze co możesz zrobić to upewnić się, że nie masz takiego użytkownika albo emaila logowania. Jeżeli masz to stwórz nowego administratora z normalną nazwą użytkownika i mailem.

Ogranicz dostęp do strony w trakcie jej budowy
----------------------------------------------

Jeżeli tworzysz nową stronę to warto zabezpieczyć WordPress przed indeksacją w wynikach wyszukiwania.

Możesz to zrobić za pomocą wbudowanej opcji w panelu zarządzania przechodząc do *Ustawienia &gt; Czytanie*. W panelu opcji wybierz **Proś wyszukiwarki o nieindeksowanie tej witryny**.

![](https://rozenberger.com/wp-content/uploads/wylaczenie-indeksowania-wordpress.jpg)Wyłączenie widoczności WordPressa dla wyszukiwarekJak widzisz Akceptowanie tego ustawienia leży w gestii wyszukiwarki. Dlatego innym, moim zdaniem skuteczniejszym sposobem jest zablokowanie robotów wyszukiwania w pliku .htaccess.

Aby to zrobić zaloguj się na swój serwer przez FTP lub SFTP. W katalogu głównym wordpressa znajdź plik .htaccess i dodaj na początku pliku następującą dyrektywę

```
<span><code class="hljs language-javascript shcb-wrap-lines">SetEnvIfNoCase ^User-Agent$ .*(google|bing|msn) HTTP_SAFE_BADBOT
Order allow,deny
Allow <span class="hljs-keyword">from</span> all
Deny <span class="hljs-keyword">from</span> env=HTTP_SAFE_BADBOT</code></span><small class="shcb-language" id="shcb-language-1"><span class="shcb-language__label">Code language:</span> <span class="shcb-language__name">JavaScript</span> <span class="shcb-language__paren">(</span><span class="shcb-language__slug">javascript</span><span class="shcb-language__paren">)</span></small>
```

W ten sposób na poziomie serwera zablokujesz dostęp robotą Google, Bina i MSN dostęp do strony.

Żeby sprawdzić, czy ta dyrektywa działa skorzystań z wiersza poleceń (terminala) i wpisz następującą komendę ustawiając własną domenę.

```
<span><code class="hljs language-javascript">curl -I --user-agent <span class="hljs-string">"Googlebot"</span> dwapiksele.pl</code></span><small class="shcb-language" id="shcb-language-2"><span class="shcb-language__label">Code language:</span> <span class="shcb-language__name">JavaScript</span> <span class="shcb-language__paren">(</span><span class="shcb-language__slug">javascript</span><span class="shcb-language__paren">)</span></small>
```

W jej wyniku otrzymasz komunikat nagłówka zwracany przez serwer. Jeżeli poprawnie zablokujesz bota Google, Bing i MSN, to powinnaś lub powinieneś otrzymać komunikat z nagłówkiem 403.

![](https://rozenberger.com/wp-content/uploads/curl-google-bot.jpg)> **Pamiętaj o włączeniu indeksowania po wykonaniu strony**

Usuń zbędne elementy po instalacji WordPress
--------------------------------------------

WordPress w trakcie instalacji wgrywa domyślne wtyczki, tworzy domyślnie przykładową podstronę , wpis oraz komentarze. Usuń je wszystkie.

### Usuwanie przykładowych wpisów i stron WordPress

- Przejdź do zakładki **Wpisy** i usuń wpis „**Witaj, świecie!**„.
- Przejdź do zakładki strony i usuń „**Przykładowa strona**„.

Pamiętaj aby usunąć ten wpis i stronę z kosza!

### Usuwanie domyślnych wtyczek WordPress

W panelu administratora wybierz **Wtyczki &gt; Zainstalowane Wtyczki**. Zaznaczy wszystkie. Wyłącz i usuń.

### Usuwanie zbędnych motywów

W panelu administratora wybierz **Wygląd &gt; Motywy** i usuń wszystkie nieużywane motywy. Warto zostawić sobie jeden domyślny motyw WordPressa w razie problemów z witryną.

Żeby usunąć motyw kliknij w obrazek motywu i w prawym dolnym rogu wybierz **Usuń**.

Uporządkuj WordPressa po instalacji
-----------------------------------

WordPress po instalacji wprowadza domyślne ustawienia dla adresów URL i domyślnej kategorii wpisu.

### Zmień adres URL i nazwę domyślnej kategorii wpisów

Z menu wybierz **Wpisy &gt; Kategorie** i za pomocą szybkiej edycji zmień nazwę oraz uproszczoną nazwę domyślnej kategorii „**Bez nazwy**„. Uproszczona nazwa nie powinna zawierać polskich liter oraz powinna mieć myślniki zamiast spacji.

#### Ustaw formę bezpośrednich odnośników w WordPress (permalink structure)

Z panelu administracyjnego wybierz **Ustawienia &gt; Bezpośrednie odnośniki**, wybierz *Nazwa wpisu* lub inny „ludzki” format adresu URL.

Poniżej w ustawieniach opcjonalnych znajdziesz konfiguracje dla tematów wpisów oraz tagów wpisów. Jeżeli nie chcesz aby WordPress domyślnie do stron kategorii wpisów dodawał */category/* to w miejscu **Alias kategorii** wstaw kropkę.

#### Bezpośrednie odnośniki WooCommerce

Jeżeli będziesz korzystać z Woocommerce to warto też na samym początku określić jak będą wyglądać adresy URL kategorii produktów, tagów produktów oraz produktów.

Warto zadbać o to żeby były krótkie oraz zrozumiałe dla Ciebie i użytkowników. Co więcej warto zastanowić się nad tym, czy potem nie uprościć sobie analizy struktury strony poprzez adresy URL.

#### Przykładowe ustawienia bezpośrednich odnośników dla WordPress i WooCommerce

ElementUstawienieWpis/%postname%/Alias kategorii/topicAlias tagów/tagAlias kategorii produktówsklep/cAlias tagów produktówsklep/tAlias produktusklep/aBezpośrednie odnośniki produktówsklep/p#### Zaawansowane zarządzanie strukturą adresów

Jeżeli chcesz zbudować inne zależności i ustawienia adresów URL, to warto zastanowić się nad skorzystaniem z zaawansowanej wtyczki. Ja w swoich projektach korzystam z [Permalink Manager Pro](https://rozenberger.com/link/permalinkmanager/).

**Permalink Manager Pro** posiada tez wersję darmową (Permalink Manager Lite) uboższą w ustawienia. Dużą zaletą wersji pro jest dobra współpraca z takimi wtyczkami jak Woocommerce, WPML, Polylang, YOAST SEO, RankMath, SEOPress, Advanced Custom Fields, Toolset i Pods.

> Pamiętaj, że zmiana bezpośrednich odnośników ma duży wpływ na [SEO i pozycjonowanie strony](https://rozenberger.com/posts/t/seo-i-pozycjonowanie/) oraz linkowanie wewnętrzne. Dlatego **dobrze zastanów się jak powinna wyglądać struktura adresów URL Twojej strony.**

### Dostosuj ustawienia strony głównej oraz strony z wpisami

Domyślnie WordPress na stronie głównej wyświetla ostatnie wpisy. Mało tego wyświetla je w całości. Jeżeli budujesz stronę firmową to nie chcesz przecież żeby na stronie głównej wyświetlały się ostatnie wpisy.

Dlatego stwórz dwie strony. Aby to zrobić z menu wybierz **Strony**, następnie dodaj dwie strony: Home oraz News. Nie musisz ich tak nazywać. Zastosuj nazwę, która będzie dla Ciebie intuicyjna i w przyszłości będziesz wiedziała lub wiedział jaki był ich cel.

Po stworzeniu stron przejdź do **Ustawienia &gt; Czytanie**. W ustawieniach czytania ustaw Strona główna wyświetla statyczną stronę. Dla strony głównej i strony z wpisami wybierz uprzednio stworzone strony.

Potem zostanie konfiguracja ilości wyświetlanych wpisów na blogu i w kanale nowości. O ile wpisy na blogu nie stanowią żadnej zagadki, o tyle kanał nowości może być dla Ciebie zagadką.

> **Czym jest kanał nowości WordPress?**
> 
> **Kanały nowości wyświetlają ostatnie to** ustawienie służące do podania ile wpisów będzie umieszczone w kanale RSS i ATOM. **W kanałach nowości wyświetlaj** określa czy w kanałach ATOM i RSS mają być wyświetlane treści całego wpisu, czy tylko wypis.

#### Moje domyślne ustawienia czytania

**Element****Ustawienie**Strona GłównaHomeStrona z wpisamiNewsStrony na blogu wyświetlają maksymalnie12 wpisyKanały nowości wyświetlają ostatnie12 elementówDla każdego wpisu w kanale informacyjnym, włączającwypisy### Ustawienia dyskusji w WordPress

Zadecyduj czy chcesz włączyć możliwość komentowania wpisów w swoim WordPressie. Są wady i zalety tego rozwiązania. Pamiętaj o tym, że zezwalając na komentarze wystawiasz się na SPAM. Jeżeli nie zamierzasz moderować dyskusji to wyłącz możliwość komentowania.

#### Co oznaczają poszczególne ustawień dyskusji?

Spróbuj powiadomić wszystkie blogi, do których odnośniki zostały umieszczone w artykule

UstawienieOpisSpróbuj powiadomić wszystkie blogi, linkowane w wpisie.WordPress wysyła powiadomienia do wszystkich blogów do których prowadzą linki z wpisu, a które mają włączoną opcję przyjmowania powiadomień.Zezwól innym blogom na informowanie o umieszczeniu odnośnika do tej witryny (pingbacki i trackbacki)WordPress przyjmuje powiadomienia o tym, że na innych blogach pojawił się link do serwisu.Zezwól na komentowanie nowych artykułówZezwala na komentowanie nowych wpisów (możliwość komentowania można zamknąć w szczegółowych ustawieniach każdego pojedynczego wpisu).Autor komentarza musi wprowadzić swój podpis i e-mailKomentator wpis musi się podpisać i podać swój adres e-mail.Użytkownicy muszą być zarejestrowani i zalogowani, aby móc komentowaćJeśli opcja jest zaznaczona, to niezarejestrowani użytkownicy nie będą mogli komentować wpisów.Automatycznie wyłączaj możliwość komentowania artykułów starszych niżOpcja wyłącza możliwość komentowania wpisów, od których minęła określona liczba dni.Włącz poziomowe zakorzenienie komentarzyPozwala użytkownikom dodawać komentarze zagnieżdżone do określonego poziomu. To ustawienie przydaje się przy „wątkach” w dyskusji.Podziel komentarze na strony zawierające po \[liczba\] komentarzy pierwszego poziomu i domyślnie wyświetlaj pierwszą / ostatnią ich stronęWprowadza stronicowanie (paginację) komentarzy.Na górze strony wyświetlaj najstarsze lub najnowsze komentarzeUstawia czy komentarze na górze mają być najstarsze lub najnowsze.Wyślij mi emaila za każdym razem kiedy ktoś doda komentarzOtrzymasz powiadomienie o każdym dodanym komentarzu.Wyślij mi emaila za każdym razem kiedy komentarz oczekuje na moderacjęOtrzymasz powiadomienie o każdym komentarzu oczekującym na moderację.Komentarze muszą zostać zatwierdzone ręcznieBędziesz musiała albo musiał zatwierdzać do publikacji każdy komentarz.Inny komentarz tego samego autora musi zostać wcześniej zatwierdzonyPo zatwierdzeniu komentarza danego autora, jego kolejne komentarze będą się pojawiać na stronie od razu.Pozostaw komentarz do moderacji, jeżeli zawiera on \[liczba\] lub więcej odnośnikówPrzydatne ustawienie ponieważ komentarze z więcej niż dwoma linkami często są spamem.Jeżeli komentarz będzie zawierał którekolwiek z tych słów w swojej treści, nazwie użytkownika, jego adresie URL czy e-mail lub adresie IP, zostanie on przeniesiony do kolejki do moderacjiWpisz tutaj elementy wspólne dla spamu (np. nazwa użytkownika, IP, domena adresu email). Komentarze o charakterze spamu często są dodawane w języku angielskim, więc możesz do tej listy dodać kilka popularnych angielskich słów (you, thanks, hello, this itp.)Jeżeli komentarz będzie zawierał którekolwiek z tych słów w swojej treści, nazwie użytkownika, jego adresie URL czy e-mail lub adresie IP, zostanie on oznaczony jako spamPodobnie do moderacji, z tym, że komentarze z wpisanymi w to pole słowami, będą od razu oznaczane jako spam.Wyświetlanie obrazków profilowychZadecyduj czy wyświetlać obrazki profiloweNajwyższa dozwolona kategoriaWiek osób, do których muszą być dostosowane awatary.Domyślny obrazek profilowyPrzy komentarzach użytkowników, którzy nie mają własnego obrazka profilowego, wyświetlane może być logo lub obrazki utworzone na podstawie ich adresów emailPodrasuj WordPressa
-------------------

Warto po instalacji wprowadzić kilka dodatkowych linii w pliku **wp-config.php**. Te parę zmian usprawni Twoją pracę nad stroną. zoptymalizuje jej działanie oraz częściowo zabezpieczy.

```
<span><code class="hljs language-javascript">define(<span class="hljs-string">'DISALLOW_FILE_EDIT'</span>, <span class="hljs-literal">true</span> );	<span class="hljs-comment">//Wyłącza możliwość edycji plików motywu oraz wtyczek z poziomu WordPressa.</span>
define(<span class="hljs-string">'EMPTY_TRASH_DAYS'</span>, <span class="hljs-number">7</span>);	<span class="hljs-comment">//Dyrketywa, która skróci czas przechowywania elementów w koszu do siedmiu dni.</span>
define(<span class="hljs-string">'WP_POST_REVISIONS'</span>, <span class="hljs-number">5</span>);	<span class="hljs-comment">//Zmniejszy liczbę przechowywanych rewizji wpisów do 5 ostatnich.</span>
define(<span class="hljs-string">'WP_MEMORY_LIMIT'</span>, <span class="hljs-string">'128M'</span>);	<span class="hljs-comment">//Ustawi limit pamięci podręcznej na 128MB.</span>
define(<span class="hljs-string">'WP_MAX_MEMORY_LIMIT'</span>, <span class="hljs-string">'256M'</span>);	<span class="hljs-comment">//Ustawi limit pamięci dla panelu do 256MB.</span>
define(<span class="hljs-string">'FORCE_SSL_ADMIN'</span>, <span class="hljs-literal">true</span>);	<span class="hljs-comment">//Wymusi logowanie poprzez https</span>
define(<span class="hljs-string">'WP_DEBUG'</span>, <span class="hljs-literal">true</span>);	<span class="hljs-comment">//Uruchomi tryb debugowania w WordPreess.</span>
define(<span class="hljs-string">'SCRIPT_DEBUG'</span>, <span class="hljs-literal">true</span>);	<span class="hljs-comment">//Wszystkie skrypty WordPressa będą ładowane w wersji nieskompresowanej.</span></code></span><small class="shcb-language" id="shcb-language-3"><span class="shcb-language__label">Code language:</span> <span class="shcb-language__name">JavaScript</span> <span class="shcb-language__paren">(</span><span class="shcb-language__slug">javascript</span><span class="shcb-language__paren">)</span></small>
```

DyrektywaOpisdefine(’DISALLOW\_FILE\_EDIT’, true );Wyłącza możliwość edycji plików motywu oraz wtyczek z poziomu WordPressa.define(’EMPTY\_TRASH\_DAYS’, 7);Dyrketywa, która skróci czas przechowywania elementów w koszu do siedmiu dni.define(’WP\_POST\_REVISIONS’, 5);Zmniejszy liczbę przechowywanych rewizji wpisów do 5 ostatnich.define(’WP\_MEMORY\_LIMIT’, '128M’);Ustawi limit pamięci podręcznej na 128MB.define(’WP\_MAX\_MEMORY\_LIMIT’, '256M’);Ustawi limit pamięci dla panelu do 256MB.define(’FORCE\_SSL\_ADMIN’, true);Wymusi logowanie poprzez httpsdefine(’WP\_DEBUG’, true);Uruchomi tryb debugowania w WordPreess.define(’SCRIPT\_DEBUG’, true);Wszystkie skrypty WordPressa będą ładowane w wersji nieskompresowanej.Zainstaluj motyw i wtyczki do WordPress
---------------------------------------

### Instalacja motywu w WordPress

Zainstaluj wybrany przez siebie motyw. Po instalacji motywu przed jego edycją **warto utworzyć również motyw potomny**. Wszelkie zmiany w zainstalowanym motywie wprowadzaj w motywie potomnym. Dzięki temu unikniesz wielu problemów związanych z aktualizacją motywu.

Po instalacji motywu upewnij się, że usunęłaś albo usunąłeś niepotrzebne motywy. Ewentualnie pozostaw jeden motyw domyślny w razie problemów ze stroną.

### Instalacja przydatnych wtyczek do WordPress

Każdy ma jakiś zestaw swoich ulubionych i praktycznych pluginów do WordPressa. Dlatego poniżej zamieszczam Ci moją listę „must have” przy nowych stronach:

- [YOAST SEO](https://wordpress.org/plugins/wordpress-seo/) – dodaje opcje związane z optymalizacją techniczną, tworzy mapy stron. Pozwala wybierać typy stron, które mogę być indeksowane w Google. Posiada szereg innych funkcji, które znajdziesz na [oficjalniej stronie YOAST](https://yoast.com/).
- [Advanced Custom Fields ACF ](https://wordpress.org/plugins/advanced-custom-fields/)– dodaje możliwość tworzenia w prosty sposób pól dodatkowych do wpisów, kategorii i innych typów treści. Więcej informacji znajdziesz na [stronie ACF](https://www.advancedcustomfields.com/).
- [Autoptimize ](https://wordpress.org/plugins/autoptimize/)– wtyczka służy do optymalizacji szybkości wczytywania się strony poprzez kompresję skryptów JavaScript, styli CSS oraz kodu HTML.
- [ShortPixel](https://rozenberger.com/af/shortpixel/) – optymalizuje obrazy w trakcie wgrywania. Ma opcję masowej optymalizacji obrazów.
- [Contact Form 7](https://wordpress.org/plugins/contact-form-7/) – prosta wtyczka formularza kontaktowego do prostego formularza kontaktowego.

Przekieruj stronę na https
--------------------------

Na początku pliku .htaccess dodaj następujące dyrektywy

```
<span><code class="hljs language-javascript shcb-wrap-lines">RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https:<span class="hljs-comment">//%{HTTP_HOST}%{REQUEST_URI} [L,R=301]</span></code></span><small class="shcb-language" id="shcb-language-4"><span class="shcb-language__label">Code language:</span> <span class="shcb-language__name">JavaScript</span> <span class="shcb-language__paren">(</span><span class="shcb-language__slug">javascript</span><span class="shcb-language__paren">)</span></small>
```

Zabezpiecz WordPressa
---------------------

### Zablokowanie pliku xmlrpc.php

Plik xmlrpc.php jest potencjalnym sposobem ataków typu DDOS, BruteForce. Kiedyś był wykorzystywany mocniej przy automatyzacji i edycji WordPressa. Dzisiaj jest zbędny (w większości przypadków)

```
<span><code class="hljs language-apache"><span class="hljs-section"><Files xmlrpc.php></span>
<span class="hljs-attribute"><span class="hljs-nomarkup">Order</span></span> Deny,Allow
<span class="hljs-attribute"><span class="hljs-nomarkup">Deny</span></span> from <span class="hljs-literal">all</span>
<span class="hljs-attribute"><span class="hljs-nomarkup">Allow</span></span> from 127.0.0.1
<span class="hljs-attribute">Satisfy</span> <span class="hljs-literal">All</span>
<span class="hljs-section"></Files></span></code></span><small class="shcb-language" id="shcb-language-5"><span class="shcb-language__label">Code language:</span> <span class="shcb-language__name">Apache</span> <span class="shcb-language__paren">(</span><span class="shcb-language__slug">apache</span><span class="shcb-language__paren">)</span></small>
```

### Blokowanie dostępu do pliku wp-login.php

W pliku htaccess dodaj następującą dyrektywę

```
<span><code class="hljs language-xml"><span class="hljs-tag"><<span class="hljs-name">IfModule</span> <span class="hljs-attr">mod_rewrite.c</span>></span>
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{HTTP_REFERER} !^http://(.*)?.twoja-domena.pl [NC]
RewriteCond %{REQUEST_URI} ^/wp-login\.php(.*)$
RewriteRule ^(.*)$ - [R=403,L]
<span class="hljs-tag"></<span class="hljs-name">IfModule</span>></span> </code></span><small class="shcb-language" id="shcb-language-6"><span class="shcb-language__label">Code language:</span> <span class="shcb-language__name">HTML, XML</span> <span class="shcb-language__paren">(</span><span class="shcb-language__slug">xml</span><span class="shcb-language__paren">)</span></small>
```

### Blokowanie dostępu do pozostałych plików

Są to pliki istotne z punktu działania strony i nikt poza Tobą nie powinien mieć do nich dostępu.

```
<span><code class="hljs language-xml"><span class="hljs-tag"><<span class="hljs-name">FilesMatch</span> "<span class="hljs-attr">wp-config.</span>*\<span class="hljs-attr">.php</span>|\<span class="hljs-attr">.htaccess</span>|<span class="hljs-attr">readme</span>\<span class="hljs-attr">.html</span>"></span>
   Order allow,deny
   Deny from all
<span class="hljs-tag"></<span class="hljs-name">FilesMatch</span>></span> </code></span><small class="shcb-language" id="shcb-language-7"><span class="shcb-language__label">Code language:</span> <span class="shcb-language__name">HTML, XML</span> <span class="shcb-language__paren">(</span><span class="shcb-language__slug">xml</span><span class="shcb-language__paren">)</span></small>
```

### Zabezpieczamy wp-includes

W katalogu wp-includes utwórz plik .htaccess i dodaj do niego

```
<span><code class="hljs language-xml"><span class="hljs-tag"><<span class="hljs-name">IfModule</span> <span class="hljs-attr">mod_rewrite.c</span>></span>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
<span class="hljs-tag"></<span class="hljs-name">IfModule</span>></span></code></span><small class="shcb-language" id="shcb-language-8"><span class="shcb-language__label">Code language:</span> <span class="shcb-language__name">HTML, XML</span> <span class="shcb-language__paren">(</span><span class="shcb-language__slug">xml</span><span class="shcb-language__paren">)</span></small>
```

### Zabezpieczamy wp-content

W katalogu wp-content utwórz plik .htaccess i dodaj do niego

```
<span><code class="hljs language-javascript">Order deny,allow
Deny <span class="hljs-keyword">from</span> all
<Files ~ <span class="hljs-string">".(xml|css|js|jpe?g|png|gif|pdf|docx|doc|xls|xlsx|ppt|pptx|rtf|odf|odp|ods|odt|zip|rar|webp)$"</span>>
Allow <span class="hljs-keyword">from</span> all
<<span class="hljs-regexp">/Files></span></code></span><small class="shcb-language" id="shcb-language-9"><span class="shcb-language__label">Code language:</span> <span class="shcb-language__name">JavaScript</span> <span class="shcb-language__paren">(</span><span class="shcb-language__slug">javascript</span><span class="shcb-language__paren">)</span></small>
```

### Zabezpieczamy logowaniem panel logowania /wp-admin/

W jakimkolwiek katalogu na serwerze (najlepiej innym niż ten z Twoją stroną) utwórz plik .htpasswd i dodaj no niego wygenerowane dane. Przykładowy generator <https://hostingcanada.org/htpasswd-generator/>.

W katalogu wp-admin stwórz plik .htaccess i dodaj do niego następującą treść

```
<span><code class="hljs language-php shcb-wrap-lines">AuthName <span class="hljs-string">"Co tam"</span>
AuthUserFile /lokalizacja-<span class="hljs-keyword">do</span>-pliku/.htpasswd
AuthGroupFile /dev/<span class="hljs-keyword">null</span>
AuthType Basic
<span class="hljs-keyword">Require</span> valid-user </code></span><small class="shcb-language" id="shcb-language-10"><span class="shcb-language__label">Code language:</span> <span class="shcb-language__name">PHP</span> <span class="shcb-language__paren">(</span><span class="shcb-language__slug">php</span><span class="shcb-language__paren">)</span></small>
```

Podsumowanie
------------

To tylko tyle i aż tyle jeżeli chodzi o to co warto zrobić po instalacji WordPressa. Powodzenia!