Sie sind auf Seite 1von 30

#11 How To Secure DigitalOcean Droplet With SSH Keys For Root Privileged User?

Download Git Bash:

https://git-scm.com/downloads

ssh root@IPAddress

adduser gaurav

usermod -aG sudo gaurav

exit

ssh-keygen -t rsa -b 4096

ssh-copy-id gaurav@IPAddress

ssh gaurav@IPAddress

sudo vim /etc/ssh/sshd_config

PasswordAuthentication no

sudo service ssh restart

exit

ssh -i ~/.ssh/id_rsa_vultr gaurav@IPAddress

Take Backup of the private key somewhere

#12 How To Do Basic Server Updates In DigitalOcean Droplet?

sudo apt update

sudo apt upgrade

sudo apt dist-upgrade

sudo apt autoclean

sudo apt autoremove

sudo reboot

#13 How To Install Nginx Web Server In DigitalOcean Droplet?


http://IPAddress

sudo apt install nginx

sudo service nginx status

sudo nginx -v

http://IPAddress

sudo vim /var/www/html/index.nginx-debian.html

#14 How To Install And Configure MariaDB In DigitalOcean Droplet?

sudo apt install mariadb-server

sudo mysql_secure_installation

sudo mysql -u root -p

use mysql;

update user set plugin='mysql_native_password' where user='root';

flush privileges;

exit

#15 How To Install And Configure PHP In DigitalOcean Droplet?

sudo apt install php-fpm php-mysql

sudo cp /etc/php/7.2/fpm/php.ini /etc/php/7.2/fpm/php.ini-bkp-22-jul-18

sudo vim /etc/php/7.2/fpm/php.ini

cgi.fix_pathinfo=0

max_execution_time=300

max_input_time=600

memory_limit=256M

post_max_size=64M

upload_max_filesize=32M

sudo service php7.2-fpm restart

#16 How To Configure Nginx To Use The PHP Processor In DigitalOcean Droplet?

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default-bkp-22-jul-18

sudo vim /etc/nginx/sites-available/default


Delete all the content from the file and paste the below configuration,

server {

listen 80 default_server;

listen [::]:80 default_server;

# Disables checking of client request body size.

client_max_body_size 0;

# Root directory

root /var/www/html;

index index.php;

server_name example.com www.example.com;

# Configuration for handling the permalinks

location / {

try_files $uri $uri/ /index.php?$args;

# Nginx to forward all url requests made to .php files to the php_fpm socket

location ~ \.php$ {

include fastcgi_params;

fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

access_log /var/log/nginx/access.log;

error_log /var/log/nginx/error.log;

}
sudo nginx -t

sudo service nginx reload

cd /var/www/html

http://www.exmaple.com/index.nginx-debian.html

sudo rm /var/www/html/index.nginx-debian.html

#17 How To Configure Ubuntu Firewall In DigitalOcean Droplet?

sudo ufw status

sudo ufw disable

sudo ufw default allow outgoing

sudo ufw default deny incoming

sudo ufw allow ssh

sudo ufw allow "Nginx Full"

sudo ufw enable

sudo ufw status

sudo ufw app list

#18 How To Install Let’s Encrypt SSL For Your Domain In DigitalOcean Droplet?

sudo add-apt-repository ppa:certbot/certbot

sudo apt install python-certbot-nginx

sudo certbot --nginx -d example.com -d www.example.com

https://www.ssllabs.com/ssltest

sudo certbot renew --dry-run

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default-bkp-23-jul-18

sudo vim /etc/nginx/sites-available/default

server {
return 301 https://$host$request_uri;

listen 80 default_server;

listen [::]:80 default_server;

server_name example.com www.example.com;

sudo nginx -t

sudo service nginx reload

#19 How To Enable HTTP/2 Server Push With Nginx In DigitalOcean Droplet?

Check it in developer tools, network tab, protocol column before enabling or


https://tools.keycdn.com/http2-test

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default-bkp-23-jul-2018

sudo vim /etc/nginx/sites-available/default

listen [::]:443 ssl default_server ipv6only=on http2;

listen 443 ssl default_server http2;

# HTTP/2 Server Push with Nginx

location = / {

http2_push_preload on;

sudo nginx -t

sudo service nginx reload

add rel=preload to all the assets that you want to be preloaded in your website. Mainly for
JavaScript and CSS files

Check it in developer tools, network tab, protocol column before enabling or


https://tools.keycdn.com/http2-test
#20 How To Install WordPress In DigitalOcean Droplet?

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default-bkp-for-wordpress-bkp-


10-jul-2018-5th

sudo vim /etc/nginx/sites-available/default

# Turn off the logging for these requests

location = /favicon.ico { log_not_found off; access_log off; }

location = /robots.txt { log_not_found off; access_log off; allow all; }

location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {

expires max;

log_not_found off;

sudo nginx -t

sudo service nginx reload

sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc

sudo service php7.2-fpm restart

cd /var/www/html

sudo wget https://wordpress.org/latest.tar.gz

sudo tar -xzf latest.tar.gz

sudo mv -v wordpress/* /var/www/html

sudo rm -rf latest.tar.gz wordpress

sudo chown -R www-data:www-data /var/www/html

sudo mysql -u root -p

create database wordpress;

grant all on wordpress.* to wordpressuser@localhost identified by 'password';


flush privileges;

exit;

https://www.example.com

#21 How To Configure Gzip Module In Nginx On DigitalOcean Droplet?

https://tools.pingdom.com

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf-bkp-10-jul-2018

sudo vim /etc/nginx/nginx.conf

gzip on;

gzip_disable "msie6";

gzip_vary on;

gzip_proxied any;

gzip_comp_level 6;

gzip_buffers 16 8k;

gzip_http_version 1.1;

gzip_min_length 256;

gzip_types text/plain text/css application/json application/javascript application/x-javascript


text/xml application/xml application/xml+rss text/javascript application/vnd.ms-fontobject
application/x-font-ttf font/opentype image/svg+xml image/x-icon;

sudo nginx -t

sudo service nginx reload

https://tools.pingdom.com
#26 What And Which Settings To Enable In Cloudflare For Your WordPress Blog?

Crypto:
SSL: Full (Strict)
Always use HTTPS: ON

Test before: Network > www.example.com > headers

HTTP Strict Transport Security (HSTS): Enable HSTS (12 months, All ON)

Verify HSTS from developer tools,


Test after: Network > www.example.com > headers

Authenticated Origin Pulls: On


TLS: Keep enabled+0-RTT
Automatic HTTPS Rewrites: On

Caching:

Browser Cache Expiration: Respect Existing Headers

Always Online: OFF

Page Rules:

example.com/*

Cache Level: Bypass

Origin cache control: On

Disable Apps

Disable Performance

Network:

WebSockets: Off

#28 How To See Real IP Address Of The Visitors In Nginx Server Logs When Using Cloudflare?

sudo tail -f /var/log/nginx/access.log

cd /etc/nginx

sudo wget https://raw.githubusercontent.com/thinkingbell/cloudflareips/master/update-cloudflare-


ips.sh

sudo chmod +x update-cloudflare-ips.sh

sudo sh update-cloudflare-ips.sh
sudo vim cloudflare-real-ips.conf

sudo crontab -e

@weekly /etc/nginx/update-cloudflare-ips.sh

sudo cp nginx.conf nginx.conf-bkp-10-jul-18-2nd

sudo vim nginx.conf

# Cloudflare proxy addresses.

include /etc/nginx/cloudflare-real-ips.conf;

sudo nginx -t

sudo service nginx reload

sudo tail -f /var/log/nginx/access.log

#29 What Is Genesis Framework? Why To Use Genesis Framework And It’s Child Theme?

https://www.studiopress.com/get-started
https://www.studiopress.com/features
https://my.studiopress.com/themes

#30 How To Remove Featured Post Layout In Eleven40 Pro Theme?

Rename home.php to home-old.php.

#31 How To Install Genesis Framework, Child Theme And It’s Basic Customization?

Install Genesis Theme,

Explain the Genesis Theme Settings page, Disable breadcrumbs, Entry excerpts + Featured
Image 300 * 300.
#32 How To Customize WordPress For Basic Settings?

Delete all posts and any unnecessary plugins

Configure permalinks

General settings, writing settings (remove Update Services links), Discussion settings
(Uncheck -> Allow link notifications from other blogs (pingbacks and trackbacks) on new
articles), (Check -> Comment must be manually approved)

#33 How To Add Categories And Menu In WordPress?

Add Categories, create menu > Main Menu > Home > Courses (Custom Links) > Java, Spring,
hibernate > Manage Locations

#34 Where To Get Copyright Free Images?

https://pixabay.com, https://unsplash.com, https://freerangestock.com,


https://stocksnap.io, https://www.shutterstock.com

#35 Which Free Photo Editors To Use For Making Professional Looking Images?

https://www.picmonkey.com, https://www.canva.com, https://www.fotojet.com

#36 How To Create Blog Post On WordPress?

blog post -> Add some 5-6 posts

#39 How To Make A Favicon And Add It On WordPress Blog?

512*512

https://realfavicongenerator.net

Add the code in genesis theme settings in the head,

<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">


<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="theme-color" content="#ffffff">
Download the package, and upload files to server root directory,

sudo apt install unzip

Refresh

#40 How To Remove Fixed Menu And Tagline In Eleven40 Pro Theme?

// Remove the Tagline


add_filter('genesis_attr_site-description', 'genesis_attributes_screen_reader_class');

/* Remove the Fixed Menu. */


.site-header {
position: inherit;
}

#41 How To Change Menu, Sub Menu Color And Add Other Effects In Eleven40 Pro Theme?

/* Change Header, menu, sub menu colour and add shadow to primary menu. */
.site-header {
background-color: #FFFF;
}

.nav-primary .sub-menu {
background-color: #FFFF;
}

.nav-primary .genesis-nav-menu a {
color: #2aa4cf;
}

.site-header{
box-shadow: 2px 4px 4px -1px rgba(0,0,0,0.25);
}

.responsive-menu-icon::before {
color: #2aa4cf;
}

.nav-primary .genesis-nav-menu.responsive-menu .current-menu-item > a,


.nav-primary .genesis-nav-menu.responsive-menu .sub-menu li a,
.nav-primary .genesis-nav-menu.responsive-menu .sub-menu li a:focus,
.nav-primary .genesis-nav-menu.responsive-menu .sub-menu li a:hover,
.nav-primary .genesis-nav-menu.responsive-menu .sub-menu,
.nav-primary .genesis-nav-menu.responsive-menu > .menu-item-has-
children:before,
.nav-primary .genesis-nav-menu.responsive-menu > li:hover > a,
.nav-primary .genesis-nav-menu.responsive-menu a:focus,
.nav-primary .genesis-nav-menu.responsive-menu a:hover {
color: #2aa4cf;
}

#42 How To Change Archive, Search Results, Pagination Color In Eleven40 Pro Theme?

/* Change the archive, search results header colour. */


.archive-description {
background-color: #2aa4cf;
}

.archive-description h1, .author-box {


color: #FFFF;
}

/* Pagination colour modification */


.archive-pagination a {
background-color: #ed702b;
color: #fff;
}

#43 How To Change Post Title Font Size And Other Font Size of Different Sections In Eleven40 Pro
Theme?

/* Post Title Font size. */


.entry-title {
font-size: 24px;
}

/* Change Font Size of different Sections. */


@media only screen and (max-width: 800px) {
.site-inner {
margin: 10px 0 40px !important;
padding-left: 1%;
padding-right: 1%;
}
}
.content-sidebar .content {
padding: 30px 25px;
box-shadow: 0 2px 52px 0px rgba(50, 60, 60, 0.09);
border-right: 0 solid #ddd;
}
.site-inner {
margin: 42px;
}

.entry {
margin-bottom: 8px;
}

.archive-description h1,
.author-box h1 {
font-size: 18px;
}

.entry-meta {
font-size: 14px;
}

.sidebar {
font-size: 16px;
}

.site-footer {
font-size: 14px;
}
input,
select,
textarea {
font-size: 14px;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button {
font-size: 14px;
}

#44 How To Change And Customize Footer Credits Text In Eleven40 Pro Theme?

// Change the footer credits text


remove_action( 'genesis_footer', 'genesis_do_footer' );
add_action( 'genesis_footer', 'child_do_footer' );
function child_do_footer() {
?>
<p><a href="https://www.example.com/about-us">About
Us</a>&nbsp;&nbsp;&nbsp;<a href="https://www.example.com/contact-us">Contact
Us</a>&nbsp;&nbsp;&nbsp;<a href="https://www.example.com/privacy-
policy">Privacy Policy</a>&nbsp;&nbsp;&nbsp;<a
href="https://www.example.com/terms-of-use">Terms Of Use</a><br></br>Copyright
&copy; Example 2018. All Rights Reserved. </p>
<?php
}

/* Custom CSS for footer. */


.site-footer {
color:#FFFF;
background-color: #2aa4cf;
padding: 20px 20px;
}

.site-footer a {
color: #FFFF !important;
}

#45 How To Remove Website Field And Add Custom Message In Comment Section In Eleven40 Pro
Theme?

// Remove Website Field from comments


add_filter('comment_form_default_fields', 'new_remove_comment_url');
function new_remove_comment_url($arg) {
$arg['url'] = '';
return $arg;
}

// Add custom message in the comment section

add_filter( 'comment_form_defaults',
'eleven40_remove_comment_form_allowed_tags' );
function eleven40_remove_comment_form_allowed_tags( $defaults ) {

$defaults['comment_notes_before'] = ' Your email address will not be published.


Comments will appear here once approved by moderator to reduce spam.
Thanks!<br></br>';
return $defaults;
}

#46 How To Remove Default Google Fonts And Add Your Own Choice Google Fonts In Eleven40 Pro
Theme?
// Remove default Google font Lora, Oswald
add_action( 'wp_print_styles', 'tn_dequeue_google_fonts_style' );
function tn_dequeue_google_fonts_style() {
wp_dequeue_style( 'google-fonts' );
}

// Add New Google font


add_action( 'wp_enqueue_scripts', 'sp_load_google_fonts' );
function sp_load_google_fonts() {
wp_enqueue_style( 'google-font-roboto',
'https://fonts.googleapis.com/css?family=Roboto', array(), CHILD_THEME_VERSION );
}

/* Fonts modification */
body {
font-family: 'Roboto', sans-serif;
}

body > div {


font-size: 16px;
}

#47 How To Customize “Read More…” In Eleven40 Pro Theme?

/*Custom CSS for Read More. */


.RMButton{
background-color: #2aa4cf;
border: none;
color: white !important;
padding: 10px 10px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
margin: 4px 2px;
cursor: pointer;
}

add_filter( 'excerpt_more', 'child_read_more_link' );


add_filter( 'get_the_content_more_link', 'child_read_more_link' );
add_filter( 'the_content_more_link', 'child_read_more_link' );
function child_read_more_link() {
return '<br></br><a class="RMButton" href="' . get_permalink() . '"
rel="nofollow">Read More</a>';
}
#48 How To Change Search Text And Delete “Filed under” & “Tagged with” In Eleven40 Pro
Theme?

// Change Search Text


function prefix_search_button_text( $text ) {
return ( 'Search');
}
add_filter( 'genesis_search_text', 'prefix_search_button_text' );

// Delete “Filed under” & “Tagged with”


add_filter('genesis_post_meta', 'meta_info_filter');
function meta_info_filter($entry_footer) {
if (!is_page()) {
$entry_footer = '<p>';
}
return $entry_footer;
}

#49 How To Add Author Box In Eleven40 Pro Theme?

// Add author box on single posts.


add_filter( 'get_the_author_genesis_author_box_single', '__return_true' );

// Customize author box title.


add_filter( 'genesis_author_box_title', 'bg_custom_author_box__title' );
function bg_custom_author_box__title() {

return '<strong>About the Author</strong><br><br>The Example is a website to


find cool courses!';
}

// Modify Gravatar size in author box.


add_filter( 'genesis_author_box_gravatar_size', 'author_box_gravatar_size' );
function author_box_gravatar_size( $size ) {
return 80;
}

/* For Author Box */


.author-box {
background-color: #2aa4cf;
}
#50 How To Add Social Icons In WordPress?

Add the plugin Simple Social Icons (Nathan - Genesis), add in the Primary side bar, remove
recent comments, archive

/* Simple Social Icons */

/* Facebook */

.simple-social-icons li.ssi-facebook a {

background-color: #3b5998 !important;

/* Twitter */

.simple-social-icons li.ssi-twitter a {

background-color: #00aced !important;

/* YouTube */

.simple-social-icons li.ssi-youtube a {

background-color: #bb0000 !important;

/* Google Plus */

.simple-social-icons li.ssi-gplus a {

background-color: #dd4b39 !important;

/* GitHub */

.simple-social-icons li.ssi-github a {

background-color: #000 !important;

}
/* dribbble */

.simple-social-icons li.ssi-dribbble a {

background-color: #ea4c89 !important;

/* email */

.simple-social-icons li.ssi-email a {

background-color: #049fb3 !important;

/* flickr */

.simple-social-icons li.ssi-flickr a {

background-color: #ff0084 !important;

/* instagram */

.simple-social-icons li.ssi-instagram a {

background-color: #517fa4 !important;

/* linkedin */

.simple-social-icons li.ssi-linkedin a {

background-color: #007bb6 !important;

/* pinterest */

.simple-social-icons li.ssi-pinterest a {

background-color: #cb2027 !important;

/* rss */
.simple-social-icons li.ssi-rss a {

background-color: #ff6600 !important;

/* stumbleupon */

.simple-social-icons li.ssi-stumbleupon a {

background-color: #eb4823 !important;

/* tumblr */

.simple-social-icons li.ssi-tumblr a {

background-color: #32506d !important;

/* vimeo */

.simple-social-icons li.ssi-vimeo a {

background-color: #aad450 !important;

#51 How To Make Your WordPress Blog GDPR Compliance? (Disclaimer)

Comments Consent, Export Personal Data, Erase Personal Data

<p class="cookies-warning" id="cookieswarning" style="visibility:hidden;">

Example uses cookies to make its website easier to use. <a href="/privacy-
policy/">Learn more about cookies.</a>

<a href="#close" class="close" id="close"


onclick="document.getElementsByClassName('cookies-warning')[0].style.display = 'none';">
X</a>

</p>

<style type='text/css'>

.cookies-warning {

position: fixed;
bottom: 10px;

left: 50%;

-webkit-transform: translateX(-50%);

transform: translateX(-50%);

z-index: 1000;

background: rgba(46,50,52,.75);

box-shadow: 0 3px 4px 0 rgba(46,50,52,.1);

border-radius: 10px;

color: floralwhite;

font-size: 12px;

padding: 10px 13px 10px 20px;

display: inline-block;

width: 100%;

max-width: 560px;

font-family: 'Open Sans',Arial,sans-serif;

.cookies-warning {

text-align: center;

.cookies-warning p {

margin: 0 0 10px;

.cookies-warning a {

color: #fff;

opacity: .7;

text-decoration: none;

display: inline-block;

.cookies-warning .close {

color: #fff;

display: inline-block;
padding: 5px;

font-size: 1.2em;

font-weight: 600;

position: relative;

top: 2px;

transition: .18s cubic-bezier(.55,0,.1,1);

text-decoration: none;

text-shadow: none;

opacity: 1;

</style>

<script type='text/javascript'>

//<![CDATA[

window.onload=function(){

(function() {

var visited = localStorage.getItem('visited');

if (!visited) {

document.getElementById('cookieswarning').style.visibility =
'visible';

localStorage.setItem('visited', true);

})();

}//]]>

</script>

Add the code using -> Genesis themes settings in the head
Privacy Policy
Effective Date: August 1, 2018

This Privacy Statement is designed to provide information about ThinkingBell


(“ThinkingBell”, “TB”, “we”, “our” or “us”) privacy and data collection practices. This privacy
policy does not apply to Sites maintained by other companies or organizations to which we may
link or who may link to us. We are not responsible for the actions and privacy policies of third-
party websites.

We have a few fundamental principles that we follow:

 We don’t ask you for personal information unless we truly need it.
 We don’t share your personal information with anyone.
 The only personal information we store is your IP address in order to make the site
function.

We use your Personal Information for three primary purposes:

 To help you quickly find services or information on the site.


 To help us create and deliver content most relevant to you.
 To serve advertisement.
 To act in urgent circumstances, protect the personal safety of users of the site, or the
public.

Personal identification information

We may collect personally identification information from Users in a variety of ways, including,
but not limited to, when Users visit our site, subscribe to the newsletter, fill out a form, and in
connection with other activities, services, features or resources we make available on our Site.
Users may be asked for, as appropriate, name, email address. We may store the IP addresses on
our server. Users may visit our Site without sharing their name, email address, but the IP
addresses are always collected and stored. We will collect personal identification information
such as name, email address from Users only if they voluntarily submit such information to us.
Users can always refuse to supply personal identification information except the IP address. If
users refuse to supply personal identification information, it may prevent them from engaging in
certain Site related activities such as newsletter signup which requires a valid email address.

Non-personal identification information

We may collect non-personal identification information about Users whenever they interact
with our Site. Non-personal identification information may include the browser name, the type
of computer and technical information about Users means of connection to our Site, such as the
operating system and the Internet service providers utilized and other similar information
including IP address.

Cookies

Our Site may use “cookies” to enhance User experience. User’s web browser places cookies on
their hard drive for record-keeping purposes and sometimes to track information about them.
User may choose to set their web browser to refuse cookies, or to alert you when cookies are
being sent. If they do so, note that some parts of the Site may not function properly.

We may use third-party advertising companies to serve ads when you visit our Web Site, and
they may deploy cookies in order to provide advertisements about goods and services of
interest to you.

Advertising

Ads appearing on our site may be delivered to Users by advertising partners, who may set
cookies. These cookies allow the ad server to recognize your computer each time they send you
an online advertisement to compile non personal identification information about you or others
who use your computer. This information allows ad networks to, among other things, deliver
targeted advertisements that they believe will be of most interest to you. This privacy policy
does not cover the use of cookies by any advertisers.

How Google uses data when you use our partners’ sites or apps

Some of the services are served by Google on ThinkingBell. Google uses its technology to serve
ads to users based on their visit to our Site and other sites on the Internet. ThinkingBell uses the
following Google services:
 Google AdSense.
 Google Analytics.

Your web browser automatically sends certain information to Google. This includes the URL of
the page you’re visiting and your IP address.

Please visit Google’s privacy policy page to learn more about how it uses information from sites
or apps that use their services.

Embedded content from other websites

Articles on this site may include embedded content (e.g. videos, images, articles, etc.).
Embedded content from other websites behaves in the exact same way as if the visitor has
visited the other website.

These websites may collect data about you, use cookies, embed additional third-party tracking,
and monitor your interaction with that embedded content, including tracing your interaction
with the embedded content if you have an account and are logged in to that website.

Please visit their websites to learn more about how they collect your data.

Sharing your personal information

We do not sell, trade, or rent Users personal identification information to others. We may share
generic aggregated demographic information not linked to any personal identification
information regarding visitors and users with our business partners, trusted affiliates and
advertisers for the purposes such as personalized ads, comments, newsletters, and others are
outlined above.

We may use third party service providers to help us operate our business and the Site or
administer activities on our behalf, such as sending out newsletters or surveys. We may share
your information with these third parties for those limited purposes provided that you have
given us your permission.

Where we send your data


As outlined above, ThinkingBell may send the required data to the following third-party
networks:

 Google and their partners – Please refer to Google’s privacy policy.

What rights you have over your data

If you have left comments or signed up to newsletters, you can request to learn more about the
personal data we hold about you, including data such as email address and name that you have
provided to us. You can also request us to erase the data.

This does not include any data we are obliged to keep for analytics, administrative, legal, or
security purposes.

How we protect your information

ThinkingBell strictly protects the security of your personal information and honors your choices
for its intended use. We carefully protect your data from loss, misuse, unauthorized access or
disclosure, alteration, or destruction.

 We keep our software up to date and take a regular audit to improve security.
 We use 2048 bit SSL certificate with modern TLS for the encryption.
 We use the highly strong password and Two Factor Authentication everywhere.

Changes to this privacy policy

Although most changes are likely to be minor, ThinkingBell may change its Privacy Policy from
time to time, and in ThinkingBell’s sole discretion. We encourage Users to frequently check this
page for any changes to stay informed about how we are helping to protect the personal
information we collect. You acknowledge and agree that it is your responsibility to review this
privacy policy periodically and become aware of modifications.

Your acceptance of these terms


By using this Site, you signify your acceptance of this policy. If you do not agree to this policy,
please do not use our Site. Your continued use of the Site following the posting of changes to
this policy will be deemed your acceptance of those changes.

Who can I ask if I have any additional questions?

If you have any questions about this Privacy Statement and our practices, or you have reason to
believe ThinkingBell may have failed to adhere to this Privacy Statement, you can contact us by
email:

ThinkingBell
dummyemail@gmail.com

#54 How To Add Contact Form 7 For WordPress Blog?

function cf_dequeue_scripts() {

$load_scripts = false;

if( is_singular() ) {
$post = get_post();

if( has_shortcode($post->post_content, 'contact-form-7') ) {


$load_scripts = true;
}

if( ! $load_scripts ) {
wp_dequeue_script( 'contact-form-7' );
wp_dequeue_style( 'contact-form-7' );
}

add_action( 'wp_enqueue_scripts', 'cf_dequeue_scripts', 99 );


#55 Akismet - Spam Protection for WordPress

Create account and configure the API key, (check -> Show the number of approved
comments beside each comment author), Display a privacy notice under your comment
forms -> for GDPR

#56 OneSignal - WordPress Push Notification Plugin

Install OneSignal plugins,


https://onesignal.com, create account, and add the api id and key in onesignal.
Position: bottom right
Enable: Automatically prompt new site visitors to subscribe to push notifications

Please don’t perform the below steps as mentioned in the


tutorial, as it may break OneSignal Subscribe feature!
Add the no index header!

https://www.example.com/wp-content/plugins/onesignal-free-web-push-
notifications/readme.txt

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default-bkp-10-jul-18-


7th

sudo vim /etc/nginx/sites-available/default

location ~ .*/(?:onesignal-free-web-push-notifications)/.* {
add_header X-Robots-Tag "noindex, follow" always;
}

sudo nginx -t
sudo service nginx reload

https://www.example.com/wp-content/plugins/onesignal-free-web-push-
notifications/readme.txt

#62 How To Configure Yoast WordPress SEO Plugin For WordPress Blog?

http://example.com/page/2/
http://example.com/page/3/
http://example.com/page/4/
// No Index sub pages
function subpage_fix() {
if( is_paged() )
echo '<meta name="robots" content="noindex,follow"/>';
}
add_action('wp_head', 'subpage_fix');

Sitemap: https://www.example.com/sitemap_index.xml
User-agent: *
Disallow: /?s=*
Disallow: /wp-login.php*
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Allow: /wp-admin/images/
Allow: /wp-admin/css/
Allow: /wp-admin/js/

#69 How To Setup BunnyCDN To Speed Up Performance Of WordPress Blog?

https://tools.pingdom.com
https://www.dotcom-tools.com/website-speed-test.aspx

*://example.b-cdn.net/*
https://cdn.example.net{{path}}

#71 How To Optimize Images For WordPress Blog Posts?

https://tinypng.com

#72 How To Disable Emojis In WordPress Blog?

// Disable the emoji's


function wp_disable_emojis() {
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );
remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
add_filter( 'tiny_mce_plugins', 'wp_disable_emojis_tinymce' );
add_filter( 'wp_resource_hints', 'wp_disable_emojis_remove_dns_prefetch', 10, 2 );
}
add_action( 'init', 'wp_disable_emojis' );

// Filter function used to remove the tinymce emoji plugin.


function wp_disable_emojis_tinymce( $plugins ) {
if ( is_array( $plugins ) ) {
return array_diff( $plugins, array( 'wpemoji' ) );
} else {
return array();
}
}

// Remove emoji CDN hostname from DNS prefetching hints.


function wp_disable_emojis_remove_dns_prefetch( $urls, $relation_type ) {
if ( 'dns-prefetch' == $relation_type ) {
/** This filter is documented in wp-includes/formatting.php */
$emoji_svg_url = apply_filters( 'emoji_svg_url',
'https://s.w.org/images/core/emoji/2/svg/' );
$urls = array_diff( $urls, array( $emoji_svg_url ) );
}
return $urls;
}

#73 How To Disable Embeds In WordPress Blog?

// Disable embeds
function wp_disable_embeds() {

// Remove the REST API endpoint.


remove_action( 'rest_api_init', 'wp_oembed_register_route' );

// Turn off oEmbed auto discovery.


add_filter( 'embed_oembed_discover', '__return_false' );

// Don't filter oEmbed results.


remove_filter( 'oembed_dataparse', 'wp_filter_oembed_result', 10 );
// Remove oEmbed discovery links.
remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );

// Remove oEmbed-specific JavaScript from the front-end and back-end.


remove_action( 'wp_head', 'wp_oembed_add_host_js' );
add_filter( 'tiny_mce_plugins', 'wp_disable_embeds_tiny_mce_plugin' );

// Remove all embeds rewrite rules.


add_filter( 'rewrite_rules_array', 'wp_disable_embeds_rewrites' );

// Remove filter of the oEmbed result before any HTTP requests are made.
remove_filter( 'pre_oembed_result', 'wp_filter_pre_oembed_result', 10 );
}
add_action( 'init', 'wp_disable_embeds', 9999 );

function wp_disable_embeds_tiny_mce_plugin($plugins) {
return array_diff($plugins, array('wpembed'));
}

function wp_disable_embeds_rewrites($rules) {
foreach($rules as $rule => $rewrite) {
if(false !== strpos($rewrite, 'embed=true')) {
unset($rules[$rule]);
}
}
return $rules;
}

Das könnte Ihnen auch gefallen