Thủ Thuật Về Cấu Hình WordPress Có Thể Bạn Chưa Biết

Nếu functions.php là tập tin đơn quan trọng nhất trong chủ đề WordPress của bạn, thì wp-config.php là tập tin đơn quan trọng nhất trong toàn bộ cài đặt WordPress. Tập tin này có thể được sử dụng để cấu hình wordpress với các chức năng cơ sở dữ liệu, nâng cao hiệu suất, cải thiện an ninh trên tất cả các trang web WordPress và blog. Trong bài viết này, chúng tôi sẽ chia sẻ một số thủ thuật cấu hình wordpress hữu ích nhất mà bạn có thể chưa biết.

Theo mặc định, cài đặt WordPress không đi kèm với một tập tin wp-config.php. Khi cấu hình wordpress các cài đặt mặc định đi kèm với một tập tin mẫu được gọi là wp-config-sample.php. Bạn phải sử dụng tập tin này như là một mẫu để tạo ra wp-config.php trước khi bạn có thể thiết lập blog của bạn. Hầu hết người dùng không bao giờ làm điều này bằng cách thủ công vì WordPress cho phép bạn làm điều đó tự động từ thiết lập cài đặt của họ. Trong thiết lập này, bạn sẽ thêm / sửa đổi các cấu hình wordpress chủ chốt. Vì vậy, đầu tiên, chúng tôi sẽ hướng dẫn bạn thông qua những gì mà bạn có thể làm thông qua các thiết lập mặc định.

Khi bạn tải lên WordPress thông qua FTP và truy cập vào trang web, bạn sẽ thấy một màn hình như thế này:

dbrepair

Các thiết lập cơ bản cho bạn sử dụng wp-config-sample.php bởi vì nó có thể không hoạt động trên tất cả các host. Hầu hết trong số đó chúng tôi đã thử nó và nó hoạt động. Nếu bạn đang sử dụng một trong các máy chủ phổ biến thì nó vẫn làm việc. Bước tiếp theo như sau:

cấu hình wordpress

Tại đây bạn nhập một số thông tin quan trọng. Các thông tin đó cho phép WordPress kết nối với một cơ sở dữ liệu. Bất cứ điều gì bạn nhập vào các thiết lập sẽ được thêm vào trong wp-config.php của bạn như:

define('DB_NAME', 'database-name');
define('DB_USER', 'database-username');
define('DB_PASSWORD', 'database-password');
define('DB_HOST', 'localhost');

Theo mặc định, các máy chủ cơ sở dữ liệu là localhost vì nó làm việc với hầu hết các host. Nhưng có những máy mà có cấu hình khác nhau, vì vậy bạn sẽ cần phải sửa đổi điều này nếu bạn đang sử dụng các máy sau đây:

  • 1and1 Hosting – db12345678
  • DreamHost – mysql.example.com
  • GoDaddy – h41mysql52.secureserver.net
  • ICDSoft – localhost: /tmp/mysql5.sock
  • MediaTemple (GS) – internal-db.s44441.gridserver.com
  • Pair Networks – dbnnnx.pair.com
  • Yahoo – mysql

Một trong những thủ thuật tuyệt vời cho wp-config.php trong Digging into WordPress eBook là khả năng phát hiện các máy chủ cơ sở dữ liệu.

define('DB_HOST', $_ENV{DATABASE_SERVER});

Dán đoạn mã trên, và nó rất có thể sẽ lấy các cơ sở dữ liệu từ máy chủ. Đối với điều này, bạn sẽ phải tự chỉnh sửa các tập tin wp-config.php trong wordpress.

Security Keys

Security Keys

WordPress Security Keys là một tập hợp của các biến ngẫu nhiên để cải thiện mã hóa các thông tin lưu trữ trong cookie của người dùng. Trước khi đến với WordPress 3.0, bạn phải cài đặt WordPress Security Keys trong file wp-config.php của bạn bằng phương pháp thủ công. Trong WordPress 3.0 nếu bạn sử dụng trình hướng dẫn cài đặt, thì nó sẽ tự động thêm các khóa bảo mật trong wp-config.php. Ngoài ra trước khi đến với WordPress 3.0, chỉ có 4 khóa bảo mật, nhưng với 3,0 có 8 phím bảo mật có sẵn.

Các bạn có thể thêm mã dưới đây vào trong wp-config.php:

define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
define('NONCE_KEY', 'put your unique phrase here');
define('AUTH_SALT', 'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT', 'put your unique phrase here');
define('NONCE_SALT', 'put your unique phrase here');

Bạn có thể lấy các unique keys bằng cách vào trang này. Chúng tôi đã làm một bài viết về What, Why, and Hows of Security Keys mà có thể bạn quan tâm.

Database Prefix

Khi bạn đang cài đặt WordPress mà sử dụng wizard, bạn có thể lựa chọn tiền tố Table, được lưu trữ trong file wp-config.php như:

$table_prefix = 'wp_';

Chúng tôi khuyên bạn nên sử dụng một cái gì đó khác hơn wp_ để làm khó khăn cho các tin tặc. Mặc dù nếu bạn đã thiết lập WordPress, thì bạn không phải thay đổi các tiền tố như thế này. CHúng tôi có một số bước ở đây mà bạn nên dùng

Cấu hình ngôn ngữ

Tiếng Anh được mặc định là ngôn ngữ chính của WordPress, nhưng nó có thể được thay đổi sang ngôn ngữ mẹ đẻ của bạn với:

define('WPLANG', '');
define('LANGDIR', '');

Tập tin dịch ngôn ngữ (.mo) phải được đặt ở vị trí mặc định mà được giả định là be wp-content/languages (first) và sau đó là wp-includes/languages(second). Như bạn có thể thấy trong các chức năng trên, bạn có thể xác định thư mục ngôn ngữ của riêng bạn nếu bạn muốn. Để tìm WordPress với ngôn ngữ của bạn, vui lòng kiểm tra official WordPress Codex page

Debugging WordPress

Đối với các nhà phát triển, WordPress có tính năng gỡ lỗi tuyệt với cho phép tìm thấy lỗi, và các chức năng phản đối. Chức năng này mặc định được thiết lập sai, nhưng trong chế độ phát triển, các nhà phát triển cần phải có nó kích hoạt.

define(‘WP_DEBUG’, false); // disable debugging mode by default
define(‘WP_DEBUG’, true); // enable debugging mode

Địa chỉ Blog/trang web

Trong cài đặt WordPress của bạn, bạn chỉ định địa chỉ WordPress và địa chỉ trang web. Những người được thêm vào trong cơ sở dữ liệu của bạn, và mỗi lần các nhà phát triển gọi nó trong mẫu, nó đang chạy một truy vấn cơ sở dữ liệu. Trong WordPress 2.2, hai thiết lập này đã được giới thiệu để ghi đè lên các giá trị cơ sở dữ liệu mà không cần thay đổi chúng:

define('WP_HOME', 'http://www.wpbeginner.com');
define('WP_SITEURL', 'http://www.wpbeginner.com');

Bằng cách thêm các trong wp-config.php của bạn, bạn đang làm giảm số lượng các truy vấn cơ sở dữ liệu do đó tăng hiệu suất của trang web của bạn.

Quyền ghi đè file

đè file

Bạn có thể ghi đè lên tập tin cho phép, nếu máy của bạn có quyền truy cập hạn chế cho tất cả các tập tin người dùng. Hầu hết bạn không cần điều này, nhưng nó hữu ích cho những người cần nó.

define('FS_CHMOD_FILE', 0755);
define('FS_CHMOD_DIR', 0644);

Post Revisions

Trong các phiên bản gần đây của WordPress, cấu hình wordpress có một tính năng siêu tuyệt vời được gọi là Post Revisions. Chức năng này tự động lưu bài viết trong trường hợp trình duyệt của bạn gặp sự cố, hay cái gì tương tự xảy ra. Nó cũng cho phép người dùng khôi phục lại các phiên bản trước nếu họ không thích sự thay đổi. Trong khi rất nhiều người trong chúng ta thích tính năng này, một số người trong chúng ta thực sự ghét nó. Chức năng này có nhiều cấu hình wordpress, vì vậy bạn có thể làm cho nó làm việc phù hợp với bạn.

Các cấu hình Auto Save

Theo mặc định, cứ sau 60 giây thì WordPress sẽ tự động lưu trữ, nhưng nếu bạn nghĩ 60 giây là quá nhiều, thì bạn có thể sửa đổi nó theo sở thích của bạn với cấu hình này:

define('AUTOSAVE_INTERVAL', 120); // in seconds

Một số bài viết có 10s, 20s, hoặc thậm chí 100 bài sửa đổi tùy thuộc vào chủ sở hữu blog. Nếu bạn nghĩ rằng tính năng này làm phiền bạn, thì bạn có thể giới hạn số lượng các phiên bản cho mỗi bài.

define('WP_POST_REVISIONS', 5);

Bạn có thể sử dụng bất kỳ số nguyên bạn muốn.

Nếu các thiết lập ở trên đều không thỏa mãn bạn, thì bạn chỉ có thể vô hiệu hóa các bài sửa đổi tính năng bằng cách thêm chức năng này:

define('WP_POST_REVISIONS', false);

Tính năng Trash

Trong WordPress 2.9, đã có một tính năng “Frash”. Tính năng này hoạt động giống như các thùng tái chế, vì vậy thay vì xóa bài vĩnh viễn, bạn sẽ gửi nó vào thùng rác. Điều này đã giúp những người dùng vô tình bấm vào nút Delete, và nó có thể là bất kỳ người nào trong chúng ta. Nhược điểm về tính năng thùng rác này là bạn phải dọn sạch thùng rác thường xuyên.

Theo mặc định, thùng rác sẽ tự xóa sau 30 ngày. Bạn có thể thay đổi điều đó bằng cách sử dụng các chức năng sau đây:

define('EMPTY_TRASH_DAYS', 7 ); //Integer is the amount of days

Nếu bạn không thích tính năng này, bạn có thể vô hiệu hóa nó bằng cách thêm các chức năng dưới đây:

define('EMPTY_TRASH_DAYS', 0 );

Nhưng hãy nhớ, nếu bạn giữ các giá trị bằng 0, thì WordPress sẽ không yêu cầu xác nhận khi bạn click vào Delete vĩnh viễn. Khi bạn tình cờ nhấp chuột có thể khiến bạn phải trả tiền…

FTP / SSH Constants

Theo mặc định, WordPress cho phép bạn nâng cấp bổ sung plugin, và các phiên bản WordPress core từ bên trong các phụ trợ. Có một số máy chủ đòi hỏi một kết nối FTP hay SSH mỗi lúc bạn cố gắng nâng cấp, hoặc cài đặt một plugin mới. Bằng cách sử dụng các mã dưới đây, bạn có thể thiết lập hằng FTP hay SSH và không bao giờ phải lo lắng về nó một lần nữa.

// forces the filesystem method: "direct", "ssh", "ftpext", or "ftpsockets"
define('FS_METHOD', 'ftpext');
// absolute path to root installation directory
define('FTP_BASE', '/path/to/wordpress/');
// absolute path to "wp-content" directory
define('FTP_CONTENT_DIR', '/path/to/wordpress/wp-content/');
// absolute path to "wp-plugins" directory
define('FTP_PLUGIN_DIR ', '/path/to/wordpress/wp-content/plugins/');
// absolute path to your SSH public key
define('FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub');
// absolute path to your SSH private key
define('FTP_PRIVKEY', '/home/username/.ssh/id_rsa');
// either your FTP or SSH username
define('FTP_USER', 'username');
// password for FTP_USER username
define('FTP_PASS', 'password');
// hostname:port combo for your SSH/FTP server
define('FTP_HOST', 'ftp.example.org:21');

Tối ưu hóa cơ sở dữ liệu tự động

Trong WordPress 2.9, có một tính năng bổ sung được gọi là tối ưu hóa cơ sở dữ liệu tự động. Để kích hoạt tính năng này, bạn sẽ cần phải sử dụng các chức năng sau đây:

define('WP_ALLOW_REPAIR', true);

Sau khi kích hoạt, bạn có thể xem các thiết lập trên trang này:

  • http://www.yoursite.com/wp-admin/maint/repair.php

Người dùng không cần phải đăng nhập để truy cập chức năng này khi chức năng này đã xác định được thiết lập. Vì mục đích chính của nó là để sửa chữa cơ sở dữ liệu bị lỗi, người dùng thường không thể đăng nhập khi cơ sở dữ liệu bị hỏng. Vì vậy, một khi bạn đang thực hiện sửa chữa và tối ưu hóa cơ sở dữ liệu của bạn, hãy chắc chắn xóa chức năng từ wp-config.php.

Gia tăng giới hạn bộ nhớ PHP

Có một lỗi phổ biến được gọi là WordPress Memory Exhausted Error mà người dùng đã thấy khi kích hoạt một số plugin. Bạn có thể tăng giới hạn bộ nhớ PHP thông qua tập tin wp-config.php. Đơn giản chỉ cần dán mã dưới đây:

define('WP_MEMORY_LIMIT', '64M');

Lưu ý: Tính năng này có thể không làm việc với một số máy chủ web, do đó bạn phải yêu cầu tăng giới hạn PHP nhớ của bạn.

Lỗi đăng nhập trong cấu hình wordpress

Đối với các nhà phát triển, việc có lỗi khi đăng nhập là một việc hữu ích. Bạn có thể dễ dàng tạo ra một bản ghi lỗi đơn giản cho trang web cung cấp cấu hình WordPress bằng cách sử dụng tập tin wp-config.php. Đầu tiên tạo ra một tập tin gọi là “php_error.log”, làm cho nó server-writable, và đặt nó trong thư mục bạn chọn. Sau đó chỉnh sửa đường dẫn trong dòng thứ ba của đoạn mã sau:

@ini_set('log_errors','On');
@ini_set('display_errors','Off');
@ini_set('error_log','/home/path/domain/logs/php_error.log');
Move your wp-content Directory

Bắt đầu từ WordPress 2.6, bạn có thể di chuyển thư mục wp-content của bạn. Nó sẽ giúp trang web bảo mật. Bạn có thể di chuyển thư mục wp-nội dung của bạn bằng cách thêm đoạn mã sau vào file wp-config.php cấu hình wordpress của bạn:

define( 'WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/wp-content' );
define( 'WP_CONTENT_URL', 'http://example/blog/wp-content');
define( 'WP_PLUGIN_DIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/wp-content/plugins' );
define( 'WP_PLUGIN_URL', 'http://example/blog/wp-content/plugins');

Chúng tôi có các thư mục plugin được xác định bởi vì một số bổ sung có thể không hoạt động nếu bạn không xác định là nó đặc biệt.

Tuỳ chỉnh User/UserMeta Tables

Theo mặc định, cấu hình wordPress lưu tất cả dữ liệu người dùng trong các bảng wp_users và wp_usermeta. Bằng cách sử dụng các chức năng dưới đây, bạn có thể chỉ định các bảng, nơi bạn muốn thông tin người dùng được lưu trữ.

define('CUSTOM_USER_TABLE', $table_prefix.'my_users');
define('CUSTOM_USER_META_TABLE', $table_prefix.'my_usermeta');

Kích hoạt tính năng Multi-Site Network

Trong WordPress 3.0, WPMU đã được sáp nhập vào WordPress core. Để kích hoạt các chức năng mạng multi-site, bạn phải thêm đoạn mã sau vào file wp-config.php vào trong cấu hình wordpress.

define('WP_ALLOW_MULTISITE', true);

Khi bạn thêm mã này, sẽ có một trang mới trong wp-admin của bạn được gọi là “Network” nằm trong Tools » Network.

Bạn sẽ phải làm theo các hướng dẫn trên trang đó để tiếp tục cài đặt của MU Network.

Bảo mật WP-Config file của bạn

Như bạn có thể thấy, tập tin này là RẤT QUAN TRỌNG do đó nó cần bảo mật thêm. Theo mặc định nó nằm trong thư mục cấu hình wordpress gốc, nhưng bạn có thể di chuyển nó. Nó có thể được di chuyển ra ngoài thư mục public_html của bạn, vì vậy người dùng không thể truy cập vào nó. Nếu các tập tin không được tìm thấy trong thư mục cấu hình wordPress gốc thì nó sẽ mặc định tìm trong các thư mục khác. Bạn cũng có thể sử dụng tập tin .htaccess để hạn chế quyền truy cập vào tập tin này.
Thêm mã sau đây:

# Protect wp-config.php
Files wp-config.php>
    order allow,deny
    deny from all

Nếu bạn có lời khuyên khác, hãy cho chúng tôi biết và chúng tôi sẽ thêm nó vào bài viết. Bạn có thể tham khảo thêm bài viết 10 tính năng tuyệt vời wordpress mà bạn chưa biết.

Về tác giả

Duy Anh

Chào các bạn,

Mình là coder, đang sống và làm việc ở Mỹ. Mình thích viết lách nên muốn dành khoảng thời gian trống để chia sẻ các thủ thuật giúp các bạn xây dựng được trang web riêng của mình. Bạn nào cần xây dựng blog, web thì cứ ới, rảnh là mình giúp, tất cả FREE nhé!

Ý kiến cá nhân của bạn

bộ công cụ Wordpress hữu ích dành cho mọi website

Bộ công cụ hữu ích dành cho mọi website Wordpress

Bao gồm theme & plugin tốt nhất và được sử dụng nhiều nhất!

Xin vui lòng kiểm tra email để xác thực tài khoản!