CAN-SPAM Act: A Compliance Guide for Business


Do you use email in your business? The CAN-SPAM Act, a law that sets the rules for commercial email, establishes requirements for commercial messages, gives recipients the right to have you stop emailing them, and spells out tough penalties for violations.

Despite its name, the CAN-SPAM Act doesn’t apply just to bulk email. It covers all commercial messages, which the law defines as “any electronic mail message the primary purpose of which is the commercial advertisement or promotion of a commercial product or service,” including email that promotes content on commercial websites. The law makes no exception for business-to-business email. That means all email – for example, a message to former customers announcing a new product line – must comply with the law.

Each separate email in violation of the CAN-SPAM Act is subject to penalties of up to $16,000, so non-compliance can be costly. But following the law isn’t complicated. Here’s a rundown of CAN-SPAM’s main requirements:

  1. Don’t use false or misleading header information. Your “From,” “To,” “Reply-To,” and routing information – including the originating domain name and email address – must be accurate and identify the person or business who initiated the message.
  2. Don’t use deceptive subject lines. The subject line must accurately reflect the content of the message.
  3. Identify the message as an ad. The law gives you a lot of leeway in how to do this, but you must disclose clearly and conspicuously that your message is an advertisement.
  4. Tell recipients where you’re located. Your message must include your valid physical postal address. This can be your current street address, a post office box you’ve registered with the U.S. Postal Service, or a private mailbox you’ve registered with a commercial mail receiving agency established under Postal Service regulations.
  5. Tell recipients how to opt out of receiving future email from you. Your message must include a clear and conspicuous explanation of how the recipient can opt out of getting email from you in the future. Craft the notice in a way that’s easy for an ordinary person to recognize, read, and understand. Creative use of type size, color, and location can improve clarity. Give a return email address or another easy Internet-based way to allow people to communicate their choice to you. You may create a menu to allow a recipient to opt out of certain types of messages, but you must include the option to stop all commercial messages from you. Make sure your spam filter doesn’t block these opt-out requests.
  6. Honor opt-out requests promptly. Any opt-out mechanism you offer must be able to process opt-out requests for at least 30 days after you send your message. You must honor a recipient’s opt-out request within 10 business days. You can’t charge a fee, require the recipient to give you any personally identifying information beyond an email address, or make the recipient take any step other than sending a reply email or visiting a single page on an Internet website as a condition for honoring an opt-out request. Once people have told you they don’t want to receive more messages from you, you can’t sell or transfer their email addresses, even in the form of a mailing list. The only exception is that you may transfer the addresses to a company you’ve hired to help you comply with the CAN-SPAM Act.
  7. Monitor what others are doing on your behalf. The law makes clear that even if you hire another company to handle your email marketing, you can’t contract away your legal responsibility to comply with the law. Both the company whose product is promoted in the message and the company that actually sends the message may be held legally responsible.

Need more information?

Please visit http://www.business.ftc.gov/documents/bus61-can-spam-act-compliance-guide-business

Categories: Informations
Application Log
Timestamp Level Category Message
20:46:01.656424 info application
User: Guest (ID: )

$_GET=array (
  'slug' => 'can-spam-act-compliance-guide-business',
)

$_SERVER=array (
  'USER' => 'www-data',
  'HOME' => '/var/www',
  'HTTP_X_FORWARDED_HOST' => 'mailing.innovguide.com',
  'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
  'HTTP_ACCEPT' => '*/*',
  'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko;
compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
  'HTTP_HOST' => 'mailing.innovguide.com',
  'HTTPS' => 'on',
  'HTTP_X_FORWARDED_PROTO' => 'https',
  'HTTP_X_FORWARDED_FOR' => '216.73.216.10, 10.4.21.2',
  'REDIRECT_STATUS' => '200',
  'SERVER_NAME' => 'mailing.innovguide.com',
  'SERVER_PORT' => '443',
  'SERVER_ADDR' => '10.4.21.154',
  'REMOTE_USER' => '',
  'REMOTE_PORT' => '43892',
  'REMOTE_ADDR' => '216.73.216.10',
  'SERVER_SOFTWARE' => 'nginx/1.24.0',
  'GATEWAY_INTERFACE' => 'CGI/1.1',
  'REQUEST_SCHEME' => 'http',
  'SERVER_PROTOCOL' => 'HTTP/1.1',
  'DOCUMENT_ROOT' => '/var/www/mailwizz',
  'DOCUMENT_URI' => '/index.php',
  'REQUEST_URI' =>
'/index.php/article/can-spam-act-compliance-guide-business',
  'SCRIPT_NAME' => '/index.php',
  'CONTENT_LENGTH' => '',
  'CONTENT_TYPE' => '',
  'REQUEST_METHOD' => 'GET',
  'QUERY_STRING' => '',
  'SCRIPT_FILENAME' => '/var/www/mailwizz/index.php',
  'PATH_INFO' => '',
  'FCGI_ROLE' => 'RESPONDER',
  'PHP_SELF' => '/index.php',
  'REQUEST_TIME_FLOAT' => 1766177161.655163,
  'REQUEST_TIME' => 1766177161,
)
20:46:01.658785 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.reverse_proxy')
20:46:01.658967 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.reverse_proxy')
20:46:01.659698 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.common')
20:46:01.659800 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.common')
20:46:01.660342 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT * FROM `mw_language` `t` WHERE
`t`.`is_default`=:yp0 LIMIT 1. Bound with :yp0='yes')
20:46:01.660429 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT * FROM `mw_language` `t` WHERE
`t`.`is_default`=:yp0 LIMIT 1. Bound with :yp0='yes')
20:46:01.660526 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.cdn')
20:46:01.660605 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.cdn')
20:46:01.661361 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.translate')
20:46:01.661432 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.translate')
20:46:01.661439 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.payment-gateway-paypal')
20:46:01.661495 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.payment-gateway-paypal')
20:46:01.661503 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.email-verification')
20:46:01.661576 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.email-verification')
20:46:01.661582 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.campaign-activity-map')
20:46:01.661633 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.campaign-activity-map')
20:46:01.661639 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.list-form-custom-redirect')
20:46:01.661689 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.list-form-custom-redirect')
20:46:01.661695 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.payment-gateway-offline')
20:46:01.661742 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.payment-gateway-offline')
20:46:01.661748 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.list-form-custom-assets')
20:46:01.661796 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.list-form-custom-assets')
20:46:01.661802 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.html-blocks')
20:46:01.661849 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.html-blocks')
20:46:01.661854 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.ai-assistant')
20:46:01.661901 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.ai-assistant')
20:46:01.661907 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.email-template-builder')
20:46:01.661958 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.email-template-builder')
20:46:01.662009 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.cookie-consent')
20:46:01.662065 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.cookie-consent')
20:46:01.662071 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.list-form-custom-webhooks')
20:46:01.662120 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.list-form-custom-webhooks')
20:46:01.662126 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.ckeditor')
20:46:01.662175 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.ckeditor')
20:46:01.662218 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.tour')
20:46:01.662276 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.tour')
20:46:01.662318 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.recaptcha')
20:46:01.662374 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.recaptcha')
20:46:01.662379 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.ip-location-maxmind')
20:46:01.662427 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.ip-location-maxmind')
20:46:01.662434 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.search')
20:46:01.662484 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.search')
20:46:01.662525 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.landing-pages-content-builder')
20:46:01.662586 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.landing-pages-content-builder')
20:46:01.662594 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.articles-content-builder')
20:46:01.662642 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.articles-content-builder')
20:46:01.662647 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.pages-content-builder')
20:46:01.662734 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.pages-content-builder')
20:46:01.662743 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.content-builder')
20:46:01.662792 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.extension.content-builder')
20:46:01.662847 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.theme.frontend')
20:46:01.662887 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.theme.frontend')
20:46:01.663362 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.license')
20:46:01.663451 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.license')
20:46:01.663659 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT * FROM `mw_article` `t` WHERE
`t`.`slug`=:yp0 LIMIT 1. Bound with
:yp0='can-spam-act-compliance-guide-business')
20:46:01.663726 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT * FROM `mw_article` `t` WHERE
`t`.`slug`=:yp0 LIMIT 1. Bound with
:yp0='can-spam-act-compliance-guide-business')
20:46:01.664356 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.customization')
20:46:01.664437 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.customization')
20:46:01.666524 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `activeCategories`.`category_id` AS
`t1_c0`, `activeCategories`.`parent_id` AS `t1_c1`,
`activeCategories`.`name` AS `t1_c2`, `activeCategories`.`slug` AS `t1_c3`,
`activeCategories`.`description` AS `t1_c4`, `activeCategories`.`status` AS
`t1_c5`, `activeCategories`.`date_added` AS `t1_c6`,
`activeCategories`.`last_updated` AS `t1_c7` FROM `mw_article_category`
`activeCategories`  INNER JOIN `mw_article_to_category`
`activeCategories_activeCategories` ON
(`activeCategories_activeCategories`.`article_id`=:ypl0) AND
(`activeCategories`.`category_id`=`activeCategories_activeCategories`.`category_id`)
WHERE (activeCategories.status = :st). Bound with :st='active', :ypl0=2)
20:46:01.666673 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `activeCategories`.`category_id` AS
`t1_c0`, `activeCategories`.`parent_id` AS `t1_c1`,
`activeCategories`.`name` AS `t1_c2`, `activeCategories`.`slug` AS `t1_c3`,
`activeCategories`.`description` AS `t1_c4`, `activeCategories`.`status` AS
`t1_c5`, `activeCategories`.`date_added` AS `t1_c6`,
`activeCategories`.`last_updated` AS `t1_c7` FROM `mw_article_category`
`activeCategories`  INNER JOIN `mw_article_to_category`
`activeCategories_activeCategories` ON
(`activeCategories_activeCategories`.`article_id`=:ypl0) AND
(`activeCategories`.`category_id`=`activeCategories_activeCategories`.`category_id`)
WHERE (activeCategories.status = :st). Bound with :st='active', :ypl0=2)
20:46:01.666740 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `categories`.`category_id` AS
`t1_c0`, `categories`.`parent_id` AS `t1_c1`, `categories`.`name` AS
`t1_c2`, `categories`.`slug` AS `t1_c3`, `categories`.`description` AS
`t1_c4`, `categories`.`status` AS `t1_c5`, `categories`.`date_added` AS
`t1_c6`, `categories`.`last_updated` AS `t1_c7` FROM `mw_article_category`
`categories`  INNER JOIN `mw_article_to_category` `categories_categories`
ON (`categories_categories`.`article_id`=:ypl0) AND
(`categories`.`category_id`=`categories_categories`.`category_id`). Bound
with :ypl0=2)
20:46:01.666831 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `categories`.`category_id` AS
`t1_c0`, `categories`.`parent_id` AS `t1_c1`, `categories`.`name` AS
`t1_c2`, `categories`.`slug` AS `t1_c3`, `categories`.`description` AS
`t1_c4`, `categories`.`status` AS `t1_c5`, `categories`.`date_added` AS
`t1_c6`, `categories`.`last_updated` AS `t1_c7` FROM `mw_article_category`
`categories`  INNER JOIN `mw_article_to_category` `categories_categories`
ON (`categories_categories`.`article_id`=:ypl0) AND
(`categories`.`category_id`=`categories_categories`.`category_id`). Bound
with :ypl0=2)
20:46:01.667021 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `t`.`article_id` AS `t0_c0`,
`t`.`title` AS `t0_c1`, `t`.`slug` AS `t0_c2`, `t`.`content` AS `t0_c3`,
`t`.`status` AS `t0_c4`, `t`.`date_added` AS `t0_c5`, `t`.`last_updated` AS
`t0_c6`, `activeCategories`.`category_id` AS `t1_c0`,
`activeCategories`.`parent_id` AS `t1_c1`, `activeCategories`.`name` AS
`t1_c2`, `activeCategories`.`slug` AS `t1_c3`,
`activeCategories`.`description` AS `t1_c4`, `activeCategories`.`status` AS
`t1_c5`, `activeCategories`.`date_added` AS `t1_c6`,
`activeCategories`.`last_updated` AS `t1_c7` FROM `mw_article` `t`  INNER
JOIN `mw_article_to_category` `activeCategories_activeCategories` ON
(`t`.`article_id`=`activeCategories_activeCategories`.`article_id`) INNER
JOIN `mw_article_category` `activeCategories` ON
(`activeCategories`.`category_id`=`activeCategories_activeCategories`.`category_id`)
WHERE (((t.status=:ycp0) AND (t.article_id != :id)) AND
(activeCategories.category_id=:ycp1)) AND (activeCategories.status = :st)
LIMIT 8. Bound with :ycp0='published', :id=2, :ycp1=4, :st='active')
20:46:01.667207 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `t`.`article_id` AS `t0_c0`,
`t`.`title` AS `t0_c1`, `t`.`slug` AS `t0_c2`, `t`.`content` AS `t0_c3`,
`t`.`status` AS `t0_c4`, `t`.`date_added` AS `t0_c5`, `t`.`last_updated` AS
`t0_c6`, `activeCategories`.`category_id` AS `t1_c0`,
`activeCategories`.`parent_id` AS `t1_c1`, `activeCategories`.`name` AS
`t1_c2`, `activeCategories`.`slug` AS `t1_c3`,
`activeCategories`.`description` AS `t1_c4`, `activeCategories`.`status` AS
`t1_c5`, `activeCategories`.`date_added` AS `t1_c6`,
`activeCategories`.`last_updated` AS `t1_c7` FROM `mw_article` `t`  INNER
JOIN `mw_article_to_category` `activeCategories_activeCategories` ON
(`t`.`article_id`=`activeCategories_activeCategories`.`article_id`) INNER
JOIN `mw_article_category` `activeCategories` ON
(`activeCategories`.`category_id`=`activeCategories_activeCategories`.`category_id`)
WHERE (((t.status=:ycp0) AND (t.article_id != :id)) AND
(activeCategories.category_id=:ycp1)) AND (activeCategories.status = :st)
LIMIT 8. Bound with :ycp0='published', :id=2, :ycp1=4, :st='active')
20:46:01.667602 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.urls')
20:46:01.667699 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.urls')
20:46:01.667731 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.customer_registration')
20:46:01.667794 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.customer_registration')
20:46:01.667968 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT * FROM `mw_menu_zone` `t` WHERE
`t`.`slug`=:yp0 LIMIT 1. Bound with :yp0='frontend-header')
20:46:01.668039 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT * FROM `mw_menu_zone` `t` WHERE
`t`.`slug`=:yp0 LIMIT 1. Bound with :yp0='frontend-header')
20:46:01.668155 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT * FROM `mw_menu` `t` WHERE
`t`.`zone_id`=:yp0 AND `t`.`status`=:yp1. Bound with :yp0=1, :yp1='active')
20:46:01.668232 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT * FROM `mw_menu` `t` WHERE
`t`.`zone_id`=:yp0 AND `t`.`status`=:yp1. Bound with :yp0=1, :yp1='active')
20:46:01.668416 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `data`
FROM `mw_session`
WHERE expire>:expire AND id=:id. Bound with :expire=1766177161,
:id='2602gmdvdnspg5hihjtr2kbnka')
20:46:01.668484 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `data`
FROM `mw_session`
WHERE expire>:expire AND id=:id. Bound with :expire=1766177161,
:id='2602gmdvdnspg5hihjtr2kbnka')
20:46:01.668570 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT * FROM `mw_menu_zone` `t` WHERE
`t`.`slug`=:yp0 LIMIT 1. Bound with :yp0='frontend-footer')
20:46:01.668629 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT * FROM `mw_menu_zone` `t` WHERE
`t`.`slug`=:yp0 LIMIT 1. Bound with :yp0='frontend-footer')
20:46:01.668669 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT * FROM `mw_menu` `t` WHERE
`t`.`zone_id`=:yp0 AND `t`.`status`=:yp1. Bound with :yp0=2, :yp1='active')
20:46:01.668734 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT * FROM `mw_menu` `t` WHERE
`t`.`zone_id`=:yp0 AND `t`.`status`=:yp1. Bound with :yp0=2, :yp1='active')
20:46:01.668848 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT * FROM `mw_page` `t` WHERE
`t`.`slug`=:yp0 AND `t`.`status`=:yp1 LIMIT 1. Bound with
:yp0='terms-and-conditions', :yp1='active')
20:46:01.668919 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT * FROM `mw_page` `t` WHERE
`t`.`slug`=:yp0 AND `t`.`status`=:yp1 LIMIT 1. Bound with
:yp0='terms-and-conditions', :yp1='active')
20:46:01.668967 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT * FROM `mw_page` `t` WHERE
`t`.`slug`=:yp0 AND `t`.`status`=:yp1 LIMIT 1. Bound with
:yp0='privacy-policy', :yp1='active')
20:46:01.669025 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT * FROM `mw_page` `t` WHERE
`t`.`slug`=:yp0 AND `t`.`status`=:yp1 LIMIT 1. Bound with
:yp0='privacy-policy', :yp1='active')
20:46:01.669074 profile system.db.CDbCommand.query
begin:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.social_links')
20:46:01.669136 profile system.db.CDbCommand.query
end:system.db.CDbCommand.query(SELECT `category`, `key`, `value`,
`is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with
:c='system.social_links')
Profiling Summary Report (Time: 0.01317s, Memory: 2,418KB)
Procedure Count Total (s) Avg. (s) Min. (s) Max. (s)
system.db.CDbCommand.query(SELECT `t`.`article_id` AS `t0_c0`, `t`.`title` AS `t0_c1`, `t`.`slug` AS `t0_c2`, `t`.`content` AS `t0_c3`, `t`.`status` AS `t0_c4`, `t`.`date_added` AS `t0_c5`, `t`.`last_updated` AS `t0_c6`, `activeCategories`.`category_id` AS `t1_c0`, `activeCategories`.`parent_id` AS `t1_c1`, `activeCategories`.`name` AS `t1_c2`, `activeCategories`.`slug` AS `t1_c3`, `activeCategories`.`description` AS `t1_c4`, `activeCategories`.`status` AS `t1_c5`, `activeCategories`.`date_added` AS `t1_c6`, `activeCategories`.`last_updated` AS `t1_c7` FROM `mw_article` `t` INNER JOIN `mw_article_to_category` `activeCategories_activeCategories` ON (`t`.`article_id`=`activeCategories_activeCategories`.`article_id`) INNER JOIN `mw_article_category` `activeCategories` ON (`activeCategories`.`category_id`=`activeCategories_activeCategories`.`category_id`) WHERE (((t.status=:ycp0) AND (t.article_id != :id)) AND (activeCategories.category_id=:ycp1)) AND (activeCategories.status = :st) LIMIT 8. Bound with :ycp0='published', :id=2, :ycp1=4, :st='active') 1 0.00019 0.00019 0.00019 0.00019
system.db.CDbCommand.query(SELECT `category`, `key`, `value`, `is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with :c='system.reverse_proxy') 1 0.00018 0.00018 0.00018 0.00018
system.db.CDbCommand.query(SELECT `category`, `key`, `value`, `is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with :c='system.common') 1 0.00010 0.00010 0.00010 0.00010
system.db.CDbCommand.query(SELECT * FROM `mw_language` `t` WHERE `t`.`is_default`=:yp0 LIMIT 1. Bound with :yp0='yes') 1 0.00009 0.00009 0.00009 0.00009
system.db.CDbCommand.query(SELECT `category`, `key`, `value`, `is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with :c='system.cdn') 1 0.00008 0.00008 0.00008 0.00008
system.db.CDbCommand.query(SELECT `category`, `key`, `value`, `is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with :c='system.urls') 1 0.00010 0.00010 0.00010 0.00010
system.db.CDbCommand.query(SELECT * FROM `mw_menu` `t` WHERE `t`.`zone_id`=:yp0 AND `t`.`status`=:yp1. Bound with :yp0=1, :yp1='active') 1 0.00008 0.00008 0.00008 0.00008
system.db.CDbCommand.query(SELECT `category`, `key`, `value`, `is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with :c='system.extension.email-verification') 1 0.00007 0.00007 0.00007 0.00007
system.db.CDbCommand.query(SELECT `category`, `key`, `value`, `is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with :c='system.extension.translate') 1 0.00007 0.00007 0.00007 0.00007
system.db.CDbCommand.query(SELECT `category`, `key`, `value`, `is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with :c='system.extension.payment-gateway-paypal') 1 0.00006 0.00006 0.00006 0.00006
system.db.CDbCommand.query(SELECT `category`, `key`, `value`, `is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with :c='system.extension.cookie-consent') 1 0.00006 0.00006 0.00006 0.00006
system.db.CDbCommand.query(SELECT `category`, `key`, `value`, `is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with :c='system.extension.recaptcha') 1 0.00006 0.00006 0.00006 0.00006
system.db.CDbCommand.query(SELECT `category`, `key`, `value`, `is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with :c='system.extension.campaign-activity-map') 1 0.00005 0.00005 0.00005 0.00005
system.db.CDbCommand.query(SELECT `category`, `key`, `value`, `is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with :c='system.extension.email-template-builder') 1 0.00005 0.00005 0.00005 0.00005
system.db.CDbCommand.query(SELECT `category`, `key`, `value`, `is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with :c='system.extension.list-form-custom-redirect') 1 0.00005 0.00005 0.00005 0.00005
system.db.CDbCommand.query(SELECT `category`, `key`, `value`, `is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with :c='system.extension.list-form-custom-webhooks') 1 0.00005 0.00005 0.00005 0.00005
system.db.CDbCommand.query(SELECT `category`, `key`, `value`, `is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with :c='system.extension.list-form-custom-assets') 1 0.00005 0.00005 0.00005 0.00005
system.db.CDbCommand.query(SELECT `category`, `key`, `value`, `is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with :c='system.extension.payment-gateway-offline') 1 0.00005 0.00005 0.00005 0.00005
system.db.CDbCommand.query(SELECT `category`, `key`, `value`, `is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with :c='system.extension.html-blocks') 1 0.00005 0.00005 0.00005 0.00005
system.db.CDbCommand.query(SELECT `category`, `key`, `value`, `is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with :c='system.extension.ai-assistant') 1 0.00005 0.00005 0.00005 0.00005
system.db.CDbCommand.query(SELECT `category`, `key`, `value`, `is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with :c='system.extension.ckeditor') 1 0.00005 0.00005 0.00005 0.00005
system.db.CDbCommand.query(SELECT `categories`.`category_id` AS `t1_c0`, `categories`.`parent_id` AS `t1_c1`, `categories`.`name` AS `t1_c2`, `categories`.`slug` AS `t1_c3`, `categories`.`description` AS `t1_c4`, `categories`.`status` AS `t1_c5`, `categories`.`date_added` AS `t1_c6`, `categories`.`last_updated` AS `t1_c7` FROM `mw_article_category` `categories` INNER JOIN `mw_article_to_category` `categories_categories` ON (`categories_categories`.`article_id`=:ypl0) AND (`categories`.`category_id`=`categories_categories`.`category_id`). Bound with :ypl0=2) 1 0.00009 0.00009 0.00009 0.00009
system.db.CDbCommand.query(SELECT `category`, `key`, `value`, `is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with :c='system.license') 1 0.00009 0.00009 0.00009 0.00009
system.db.CDbCommand.query(SELECT `activeCategories`.`category_id` AS `t1_c0`, `activeCategories`.`parent_id` AS `t1_c1`, `activeCategories`.`name` AS `t1_c2`, `activeCategories`.`slug` AS `t1_c3`, `activeCategories`.`description` AS `t1_c4`, `activeCategories`.`status` AS `t1_c5`, `activeCategories`.`date_added` AS `t1_c6`, `activeCategories`.`last_updated` AS `t1_c7` FROM `mw_article_category` `activeCategories` INNER JOIN `mw_article_to_category` `activeCategories_activeCategories` ON (`activeCategories_activeCategories`.`article_id`=:ypl0) AND (`activeCategories`.`category_id`=`activeCategories_activeCategories`.`category_id`) WHERE (activeCategories.status = :st). Bound with :st='active', :ypl0=2) 1 0.00015 0.00015 0.00015 0.00015
system.db.CDbCommand.query(SELECT `category`, `key`, `value`, `is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with :c='system.extension.pages-content-builder') 1 0.00009 0.00009 0.00009 0.00009
system.db.CDbCommand.query(SELECT `category`, `key`, `value`, `is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with :c='system.customization') 1 0.00008 0.00008 0.00008 0.00008
system.db.CDbCommand.query(SELECT * FROM `mw_menu_zone` `t` WHERE `t`.`slug`=:yp0 LIMIT 1. Bound with :yp0='frontend-header') 1 0.00007 0.00007 0.00007 0.00007
system.db.CDbCommand.query(SELECT * FROM `mw_article` `t` WHERE `t`.`slug`=:yp0 LIMIT 1. Bound with :yp0='can-spam-act-compliance-guide-business') 1 0.00007 0.00007 0.00007 0.00007
system.db.CDbCommand.query(SELECT `category`, `key`, `value`, `is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with :c='system.extension.content-builder') 1 0.00005 0.00005 0.00005 0.00005
system.db.CDbCommand.query(SELECT `category`, `key`, `value`, `is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with :c='system.extension.ip-location-maxmind') 1 0.00005 0.00005 0.00005 0.00005
system.db.CDbCommand.query(SELECT `category`, `key`, `value`, `is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with :c='system.extension.articles-content-builder') 1 0.00005 0.00005 0.00005 0.00005
system.db.CDbCommand.query(SELECT `category`, `key`, `value`, `is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with :c='system.theme.frontend') 1 0.00004 0.00004 0.00004 0.00004
system.db.CDbCommand.query(SELECT `category`, `key`, `value`, `is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with :c='system.customer_registration') 1 0.00006 0.00006 0.00006 0.00006
system.db.CDbCommand.query(SELECT `category`, `key`, `value`, `is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with :c='system.extension.tour') 1 0.00006 0.00006 0.00006 0.00006
system.db.CDbCommand.query(SELECT * FROM `mw_page` `t` WHERE `t`.`slug`=:yp0 AND `t`.`status`=:yp1 LIMIT 1. Bound with :yp0='terms-and-conditions', :yp1='active') 1 0.00007 0.00007 0.00007 0.00007
system.db.CDbCommand.query(SELECT `category`, `key`, `value`, `is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with :c='system.extension.search') 1 0.00005 0.00005 0.00005 0.00005
system.db.CDbCommand.query(SELECT `data` FROM `mw_session` WHERE expire>:expire AND id=:id. Bound with :expire=1766177161, :id='2602gmdvdnspg5hihjtr2kbnka') 1 0.00007 0.00007 0.00007 0.00007
system.db.CDbCommand.query(SELECT * FROM `mw_menu` `t` WHERE `t`.`zone_id`=:yp0 AND `t`.`status`=:yp1. Bound with :yp0=2, :yp1='active') 1 0.00006 0.00006 0.00006 0.00006
system.db.CDbCommand.query(SELECT * FROM `mw_menu_zone` `t` WHERE `t`.`slug`=:yp0 LIMIT 1. Bound with :yp0='frontend-footer') 1 0.00006 0.00006 0.00006 0.00006
system.db.CDbCommand.query(SELECT * FROM `mw_page` `t` WHERE `t`.`slug`=:yp0 AND `t`.`status`=:yp1 LIMIT 1. Bound with :yp0='privacy-policy', :yp1='active') 1 0.00006 0.00006 0.00006 0.00006
system.db.CDbCommand.query(SELECT `category`, `key`, `value`, `is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with :c='system.social_links') 1 0.00006 0.00006 0.00006 0.00006
system.db.CDbCommand.query(SELECT `category`, `key`, `value`, `is_serialized` FROM `mw_option` WHERE `category` = :c. Bound with :c='system.extension.landing-pages-content-builder') 1 0.00006 0.00006 0.00006 0.00006