<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Wordpress Plugins - iPhil Studio</title>
	<atom:link href="https://iphil.top/portfolio-category/wordpress-plugins/feed/" rel="self" type="application/rss+xml" />
	<link>https://iphil.top/portfolio-category/wordpress-plugins/</link>
	<description>Sound for the Soul</description>
	<lastBuildDate>Sun, 15 Mar 2026 20:39:27 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://iphil.top/wp-content/uploads/2024/07/iphil-150x150.png</url>
	<title>Wordpress Plugins - iPhil Studio</title>
	<link>https://iphil.top/portfolio-category/wordpress-plugins/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Structured Data for Schema.org: Free WordPress Plugin for Schema.org Markup</title>
		<link>https://iphil.top/portfolio/structured-data-for-schema-org/</link>
		
		<dc:creator><![CDATA[iPhil Music]]></dc:creator>
		<pubDate>Wed, 25 Feb 2026 18:36:34 +0000</pubDate>
				<guid isPermaLink="false">https://iphil.top/?post_type=ocean_portfolio&#038;p=795</guid>

					<description><![CDATA[Boost your search visibility with rich snippets. No coding required. Have you noticed how some websites in Google Search look &#8220;richer&#8221;? They have expandable Q&#38;A sections, step-by-step instructions with images, or rated product lists. These are called Rich Snippets, and they directly impact click-through rates (CTR). Today, I&#8217;m introducing Structured Data for Schema.org — a [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><strong>Boost your search visibility with rich snippets. No coding required.</strong></p>



<p>Have you noticed how some websites in Google Search look &#8220;richer&#8221;? They have expandable Q&amp;A sections, step-by-step instructions with images, or rated product lists. These are called <strong>Rich Snippets</strong>, and they directly impact click-through rates (CTR).</p>



<p>Today, I&#8217;m introducing <strong>Structured Data for Schema.org</strong> — a free WordPress plugin that adds valid Schema.org markup to your site using simple shortcodes.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>Pro Tip:</strong> The FAQ section at the bottom of this article? <strong>It&#8217;s powered by this plugin.</strong> Keep reading to see exactly how we did it.</p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">🚀 Why This Matters</h2>



<p>Google loves structured data. When you mark up your content (articles, FAQs, tutorials), the search engine understands it better and is more likely to display it in an enhanced format.</p>



<p><strong>What this plugin delivers:</strong></p>



<ul class="wp-block-list">
<li>✅ <strong>HowTo</strong> — Step-by-step tutorials (recipes, guides, DIY projects)</li>



<li>✅ <strong>FAQPage</strong> — Questions &amp; Answers (triggers &#8220;People Also Ask&#8221; boxes)</li>



<li>✅ <strong>ItemList</strong> — Ranked lists (top 10, product roundups, collections)</li>



<li>✅ <strong>CreativeWork</strong> — General markup for articles and creative content</li>
</ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p></p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">🛠️ Installation</h2>



<ol start="1" class="wp-block-list">
<li>Install the plugin from the WordPress.org repository or upload the ZIP file from GitHub.</li>



<li>Activate it in your WordPress admin dashboard.</li>



<li>No configuration needed! Just add the <code>schema</code> shortcode to any post or page.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">📚 Live Examples (This Article Uses Them!)</h2>



<p>Every example below is <strong>actually implemented on this page</strong>. View the page source to see the JSON-LD output.</p>



<h3 class="wp-block-heading">1. HowTo: Step-by-Step Tutorial</h3>



<p><strong>What you see above:</strong> The installation steps are marked up as HowTo schema.</p>



<p><strong>The shortcode we used:</strong></p>


<div class="schema-block schema-howto"><h3>How to Install Structured Data for Schema.org</h3><p><strong>Time:</strong> 2M</p><div>Step 1: Download and Install the plugin from GitHub or Install the plugin from WordPress.org<br />
Step 2: Activate it in your WordPress admin dashboard<br />
Step 3: Add the [schema] shortcode to any post or page</div></div>



<p><strong>Result:</strong> Google can display these steps directly in search results.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">2. FAQPage: Questions &amp; Answers</h3>



<p><strong>What you&#8217;re reading now:</strong> This FAQ section is <strong>live Schema.org markup</strong>, not just text.</p>



<p><strong>The shortcode we used:</strong></p>


<div class="schema-block schema-faqpage"><h3>Structured Data for Schema.org FAQ</h3><div class="faq-list"><div class="faq-item"><div class="faq-question"><strong>Q:</strong> Does this work with Gutenberg?</div><div class="faq-answer"><strong>A:</strong> Yes! Add a Shortcode block in Gutenberg and paste your [schema] code.</div></div><div class="faq-item"><div class="faq-question"><strong>Q:</strong> Can I use multiple shortcodes on one page?</div><div class="faq-answer"><strong>A:</strong> Yes, but only the first FAQPage will be eligible for rich snippets (Google requirement). HowTo and ItemList can be used multiple times.</div></div><div class="faq-item"><div class="faq-question"><strong>Q:</strong> Why isn&#8217;t Google showing my rich snippet?</div><div class="faq-answer"><strong>A:</strong> Markup is just one ranking factor. Your content needs to be high-quality, and the page must be indexed. The validator confirms your code is technically valid, but Google&#8217;s algorithm makes the final call on display.</div></div><div class="faq-item"><div class="faq-question"><strong>Q:</strong> Is this compatible with SEO plugins like Yoast or RankMath?</div><div class="faq-answer"><strong>A:</strong> Yes! This plugin outputs raw JSON-LD. Most SEO plugins won&#8217;t conflict. If you see duplicates, disable the competing schema type in your SEO plugin settings.</div></div><div class="faq-item"><div class="faq-question"><strong>Q:</strong> What is the FAQPage format?</div><div class="faq-answer"><strong>A:</strong> Each line should contain a question and answer separated by a pipe character (|).</div></div></div></div>



<p><strong>See what we did there?</strong> You just read schema-markup content without knowing it. That&#8217;s the power of this plugin.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">3. ItemList: Action Steps</h3>



<p><strong>Your Next Steps:</strong> This list is marked up as ItemList schema.</p>



<p><strong>The shortcode we used:</strong></p>


<div class="schema-block schema-itemlist"><h3>Your Next Steps</h3><ol class="item-list"><li class="item-list-item">Download and Install the plugin from GitHub or Install the plugin from WordPress.org</li><li class="item-list-item">Copy any example from this article</li><li class="item-list-item">Paste it into a draft post and run it through the validator</li><li class="item-list-item">Drop a comment below — which schema type are you implementing first?</li></ol></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p><strong>For bulleted lists (no numbers):</strong> Add the <code>items-tag="ul"</code> attribute:</p>



<pre class="wp-block-code"><code>&#091;schema type="ItemList" name="My Shopping List" items-tag="ul"]
Coffee beans
French press
Filtered water
Kitchen scale
&#091;/schema]</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">4. CreativeWork: This Article</h3>



<p><strong>What you&#8217;re reading:</strong> This entire article is marked up as CreativeWork schema.</p>



<p><strong>The shortcode we used:</strong></p>



<pre class="wp-block-code"><code>&#091;schema type="CreativeWork" name="Structured Data for Schema.org Plugin Launch" description="Free WordPress plugin for Schema.org markup with HowTo, FAQPage, and ItemList support"]
Full article content...
&#091;/schema]</code></pre>



<p><strong>Why it matters:</strong> Even if it doesn&#8217;t trigger a rich snippet, it helps Google understand this is authoritative content about a software product.</p>



<h2 class="wp-block-heading">🕵️‍♂️ Verify It Yourself (Live Demo)</h2>



<p>Don&#8217;t just trust me — validate the data on <strong>this very page</strong>.</p>



<h3 class="wp-block-heading">Step 1: Google Rich Results Test</h3>



<ol start="1" class="wp-block-list">
<li>Copy <a href="https://iphil.top/portfolio/schema-structured-data/">this page URL</a></li>



<li>Go to <a href="https://search.google.com/test/rich-results" target="_blank" rel="noreferrer noopener">Google Rich Results Test</a></li>



<li>Enter the URL and click &#8220;Test URL&#8221;</li>



<li><strong>Expected result:</strong> You&#8217;ll see <code>FAQPage</code> detected</li>
</ol>



<h3 class="wp-block-heading">Step 2: View Page Source</h3>



<ol start="1" class="wp-block-list">
<li>Press <code>Ctrl+U</code> (Windows) or <code>Cmd+U</code> (Mac)</li>



<li>Search for <code>application/ld+json</code></li>



<li>You&#8217;ll find <strong>4 separate schema objects</strong> — one for each shortcode we used</li>
</ol>



<h3 class="wp-block-heading">Step 3: Schema Validator</h3>



<ol start="1" class="wp-block-list">
<li>Copy any JSON-LD block from the source</li>



<li>Paste it into <a href="https://validator.schema.org/" target="_blank" rel="noreferrer noopener">validator.schema.org</a></li>



<li><strong>Expected result:</strong> You&#8217;ll see <code>FAQPage</code>, <code>HowTo</code>, and <code>ItemList</code> and &#8220;No errors detected&#8221;</li>
</ol>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>Pro Tip:</strong> If the validator can&#8217;t access your site, check Cloudflare settings (Bot Fight Mode may block crawlers).</p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">⚙️ Advanced Settings</h2>



<h3 class="wp-block-heading">Hidden Mode (Schema-Only)</h3>



<p>Want markup for search engines without visible HTML on the page? Add <code>hidden="1"</code>.</p>



<pre class="wp-block-code"><code>&#091;schema type="FAQPage" name="Hidden FAQ" hidden="1"]
Question | Answer
&#091;/schema]</code></pre>



<p><em>HTML output is hidden via <code>display:none</code>, but JSON-LD is added to the footer.</em></p>



<h3 class="wp-block-heading">Limits &amp; Restrictions</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td>Schema Type</td><td>Limit</td><td>Why</td></tr><tr><td>FAQPage</td><td>1 per page</td><td>Strict Google requirement</td></tr><tr><td>HowTo</td><td>1 recommended</td><td>Best results for rich snippets</td></tr><tr><td>ItemList</td><td>Unlimited</td><td>No restrictions</td></tr><tr><td>CreativeWork</td><td>Unlimited</td><td>No restrictions</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">📥 Download &amp; Get Started</h2>



<p>The plugin is completely free, follows WordPress Coding Standards, and contains zero anonymous functions.</p>



<p><strong>Your Next Steps:</strong> (yes, this is also an ItemList schema)</p>


<div class="schema-block schema-itemlist"><h3>Your Next Steps</h3><ol class="item-list"><li class="item-list-item">Download and Install the plugin from GitHub or Install the plugin from WordPress.org</li><li class="item-list-item">Copy any example from this article</li><li class="item-list-item">Paste it into a draft post and run it through the validator</li><li class="item-list-item">Drop a comment below — which schema type are you implementing first?</li></ol></div>



<pre class="wp-block-code"><code>&#091;schema type="ItemList" name="Your Next Steps"]
Download and Install the plugin from GitHub or Install the plugin from WordPress.org
Copy any example from this article
Paste it into a draft post and run it through the validator
Drop a comment below — which schema type are you implementing first?
&#091;/schema]</code></pre>



<p><strong>Download Links:</strong></p>



<ul class="wp-block-list">
<li><strong><a href="https://wordpress.org/plugins/structured-data-for-schema-org/" target="_blank" rel="noreferrer noopener">WordPress.org Repository</a></strong></li>



<li><strong><a href="https://github.com/7iphil/schema-structured-data.git" target="_blank" rel="noreferrer noopener">GitHub</a></strong></li>
</ul>



<div class="wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-16018d1d wp-block-buttons-is-layout-flex">
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://github.com/7iphil/structured-data-for-schema-org" target="_blank" rel="noreferrer noopener">Download from GitHub</a></div>



<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://wordpress.org/plugins/structured-data-for-schema-org/" target="_blank" rel="noreferrer noopener">Download from WordPress</a></div>
</div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">❓ Behind the Scenes: How We Built This Article</h2>



<p><strong>Transparency time.</strong> Here&#8217;s exactly what schema types we implemented on this page:</p>



<p><strong>Total schema objects:</strong> 4<br><strong>Total shortcodes used:</strong> 4<br><strong>Lines of code:</strong> ~400</p>



<p>That&#8217;s it. No complex setup, no premium features, no bloat.</p>



<p>We&#8217;ve shown you exactly how we use this plugin <strong>on this very page</strong>. Now it&#8217;s your turn:</p>


<div class="schema-block schema-itemlist"><h3>💬 Your Turn</h3><ol class="item-list"><li class="item-list-item">Install the plugin from WordPress.org</li><li class="item-list-item">Copy any shortcode from this article</li><li class="item-list-item">Paste it into a draft post</li><li class="item-list-item">Validate it through Google Rich Results Test</li><li class="item-list-item">Comment below — which schema type are you implementing first?</li></ol></div>



<p><strong>Questions?</strong> Drop them in the comments — I read every single one.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Fatal message to Telegram</title>
		<link>https://iphil.top/portfolio/fatal-to-telegram/</link>
		
		<dc:creator><![CDATA[iPhil Music]]></dc:creator>
		<pubDate>Mon, 02 Feb 2026 00:44:00 +0000</pubDate>
				<guid isPermaLink="false">https://iphil.top/?post_type=ocean_portfolio&#038;p=650</guid>

					<description><![CDATA[Fatal message to Telegram monitors your WordPress site for fatal PHP errors and instantly sends detailed crash reports to your Telegram chat. It&#8217;s built for developers and sysadmins who want real-time error visibility without digging through logs. 📡 Keep your site monitored even while you sleep. 🔧 Features: 🧪 Debugging Helpers: Use these helper functions [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Fatal message to Telegram monitors your WordPress site for fatal PHP errors and instantly sends detailed crash reports to your Telegram chat. It&#8217;s built for developers and sysadmins who want real-time error visibility without digging through logs. 📡 Keep your site monitored even while you sleep.</p>



<h2 class="wp-block-heading">🔧 Features:</h2>



<ul class="wp-block-list">
<li>Sends fatal errors (E_ERROR, E_PARSE, etc.) directly to Telegram</li>



<li>Configurable Bot Token and Chat ID via Plugin settings page</li>



<li>Loads early using a special mu-plugin for maximum reliability</li>



<li>Automatically installs and cleans up the mu-plugin during activation/deactivation</li>
</ul>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="550" src="https://iphil.top/wp-content/uploads/2025/04/screenshot-settings-1024x550.jpg" alt="Fatal to Telegram settings page" class="wp-image-660" srcset="https://iphil.top/wp-content/uploads/2025/04/screenshot-settings-1024x550.jpg 1024w, https://iphil.top/wp-content/uploads/2025/04/screenshot-settings-300x161.jpg 300w, https://iphil.top/wp-content/uploads/2025/04/screenshot-settings-768x413.jpg 768w, https://iphil.top/wp-content/uploads/2025/04/screenshot-settings.jpg 1280w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">🧪 Debugging Helpers:</h2>



<p>Use these helper functions in your code to send custom data to Telegram for debugging:</p>



<pre class="wp-block-code"><code>_ftt("Just a test string");</code></pre>



<p>Sends a plain string message to your configured Telegram chat.</p>



<pre class="wp-block-code"><code>_ftt_array(&#91;'a' =&gt; 1, 'b' =&gt; 2, 'c' =&gt; 'hello']);</code></pre>



<p>Sends each key-value pair of an array as a separate Telegram message.</p>



<h3 class="wp-block-heading">📌 When is this useful?</h3>



<ul class="wp-block-list">
<li>You need visibility into silent failures</li>



<li>You want to debug on staging/production without opening logs</li>



<li>You&#8217;re developing a plugin/theme and want instant crash alerts</li>
</ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Remember: This plugin creates a mu-plugin loader for early error detection. If you deactivate the plugin, the loader will stop working too.</p>
</blockquote>



<div class="wp-block-buttons is-horizontal is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-499968f5 wp-block-buttons-is-layout-flex">
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://wordpress.org/plugins/fatal-to-telegram/" target="_blank" rel="noreferrer noopener nofollow">Download from WordPress</a></div>
</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Login Telegram Notifier</title>
		<link>https://iphil.top/portfolio/login-telegram-notifier/</link>
		
		<dc:creator><![CDATA[iPhil Music]]></dc:creator>
		<pubDate>Sun, 01 Feb 2026 00:01:00 +0000</pubDate>
				<guid isPermaLink="false">https://iphil.top/?post_type=ocean_portfolio&#038;p=675</guid>

					<description><![CDATA[Sends Telegram alerts on WordPress admin login with IP, location, browser info. Secure, lightweight and Core-compliant. 📡 Keep your site monitored even while you sleep. Login Telegram Notifier keeps you informed every time someone logs into your WordPress admin area. It sends a detailed login alert to your Telegram bot, including: This is useful for [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p id="block-4ce0761b-7d23-4a09-884b-d064465116f2">Sends Telegram alerts on WordPress admin login with IP, location, browser info. Secure, lightweight and Core-compliant. 📡 Keep your site monitored even while you sleep.</p>



<p>Login Telegram Notifier keeps you informed every time someone logs into your WordPress admin area. It sends a detailed login alert to your Telegram bot, including:</p>



<ul class="wp-block-list">
<li>🔗 URL</li>



<li>🌍 IP address</li>



<li>👤 Username</li>



<li>🧭 Geo location (via ip-api.com)</li>



<li>ℹ️ Info about Browser and OS</li>



<li>⏰ Login timestamp</li>
</ul>



<p>This is useful for monitoring suspicious logins, team access, staging environment entries or simply for peace of mind.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="617" src="https://iphil.top/wp-content/uploads/2025/05/screenshot-1-1024x617.jpg" alt="Login Telegram Notifier Settings" class="wp-image-680" srcset="https://iphil.top/wp-content/uploads/2025/05/screenshot-1-1024x617.jpg 1024w, https://iphil.top/wp-content/uploads/2025/05/screenshot-1-300x181.jpg 300w, https://iphil.top/wp-content/uploads/2025/05/screenshot-1-768x463.jpg 768w, https://iphil.top/wp-content/uploads/2025/05/screenshot-1.jpg 1280w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">🤖 How do I get my Telegram chat ID and bot token?</h2>



<p>Use&nbsp;<a href="https://t.me/BotFather" target="_blank" rel="noreferrer noopener">@BotFather</a>&nbsp;to create a bot and get your token.</p>



<p>After creating the bot, start a conversation with it so it can recognize your chat.</p>



<p>Then open the following URL (replacing&nbsp;<code>&lt;your_token&gt;</code>&nbsp;with your actual bot token):<br><code>https://api.telegram.org/bot&lt;your_token&gt;/getUpdates</code></p>



<p>You will see a JSON response containing your&nbsp;<code>chat.id</code>&nbsp;— that is your Chat ID.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">👥 Using your bot in a group</h3>



<p>You can also create a Telegram group and add your bot to it.</p>



<p>After sending a message to the group, call&nbsp;<code>/getUpdates</code>&nbsp;again to retrieve the group chat ID.</p>



<p>This allows your bot to send error notifications directly to a team chat.</p>



<h2 class="wp-block-heading">⚠️ Telegram API Limit Notice</h2>



<p><strong>Telegram Bot API — Rate Limit Explanation</strong></p>



<p>Telegram applies several rate limits to bots to prevent spam and overuse. Below is a summary of the most relevant constraints:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Limit</th><th>Details / Notes</th></tr></thead><tbody><tr><td><strong>30 messages per second globally</strong></td><td>Applies only when messages are sent to different users or chats. Sending to the same chat is subject to stricter limits.</td></tr><tr><td><strong>1 message per second per chat</strong></td><td>Applies to all chats (private or group). Sending more than one message per second to the same chat ID will cause messages to be dropped or delayed.</td></tr><tr><td><strong>20 messages per minute to a group chat (if the bot is not an admin)</strong></td><td>If your bot is not an administrator in the target group, it can send no more than 20 messages per minute to that chat. Excess messages will be silently ignored.</td></tr></tbody></table></figure>



<p><strong>💡 Tip:</strong>&nbsp;To ensure consistent delivery, consider batching multiple updates into one message, or adding delays between sends. Making the bot an admin in the group is highly recommended if sending frequently.</p>



<div class="wp-block-buttons is-horizontal is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-499968f5 wp-block-buttons-is-layout-flex">
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://wordpress.org/plugins/login-telegram-notifier/" target="_blank" rel="noreferrer noopener nofollow">Download from WordPress</a></div>
</div>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
